[PATCH] gnu: Add iozone.

DoneSubmitted by Ricardo Wurmus.
Details
3 participants
  • Gábor Boskovits
  • Leo Famulari
  • Ricardo Wurmus
Owner
unassigned
Severity
normal
R
R
Ricardo Wurmus wrote on 12 Jun 2018 13:23
(address . guix-patches@gnu.org)(name . Ricardo Wurmus)(address . rekado@elephly.net)
20180612112325.21668-1-rekado@elephly.net
* gnu/packages/profiling.scm (iozone): New variable.
---
gnu/packages/profiling.scm | 47 ++++++++++++++++++++++++++++++++++++++
1 file changed, 47 insertions(+)

Toggle diff (64 lines)
diff --git a/gnu/packages/profiling.scm b/gnu/packages/profiling.scm
index b2def45cc..b248af0b3 100644
--- a/gnu/packages/profiling.scm
+++ b/gnu/packages/profiling.scm
@@ -1,6 +1,7 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2017 Dave Love <fx@gnu.org>
 ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -399,3 +400,49 @@ high-performance computing (HPC) applications.")
     (license license:cpl1.0)))
 
 (define-public scorep-openmpi (make-scorep openmpi))
+
+(define-public iozone
+  (package
+    (name "iozone")
+    (version "3.482")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "http://www.iozone.org/src/current/"
+                                  "iozone"
+                                  (string-map (lambda (c)
+                                                (if (char=? c #\.) #\_ c))
+                                              version)
+                                  ".tar"))
+              (sha256
+               (base32
+                "0c5fyfr3iqfb8my7dcjlhm6kkmcl4a7r6gcgqrvp3xwn7jvgwcr7"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:make-flags (list "linux" "CC=gcc")
+       #:tests? #f ; none included
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'chdir
+           (lambda _ (chdir "src/current/")))
+         (delete 'configure)
+         (replace 'install
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let* ((out  (assoc-ref outputs "out"))
+                    (bin  (string-append out "/bin"))
+                    (man1 (string-append out "/share/man/man1")))
+               (for-each (lambda (file)
+                           (install-file file bin))
+                         '("iozone" "fileop" "pit_server"))
+               (install-file "../../docs/iozone.1" man1))
+             #t)))))
+    (home-page "http://www.iozone.org")
+    (synopsis "Filesystem benchmark tool")
+    (description "IOzone is a filesystem benchmark tool.  The benchmark
+generates and measures a variety of file operations.  Iozone is useful for
+performing a broad filesystem analysis of a vendor’s computer platform.  The
+benchmark tests file I/O performance for the following operations: Read,
+write, re-read, re-write, read backwards, read strided, @code{fread},
+@code{fwrite}, random read, @code{pread}, @code{mmap}, @code{aio_read},
+@code{aio_write}.")
+    (license (license:non-copyleft
+              "http://www.iozone.org/docs/Iozone_License.txt"))))
-- 
2.17.1
L
L
Leo Famulari wrote on 12 Jun 2018 20:46
(name . Ricardo Wurmus)(address . rekado@elephly.net)(address . 31798@debbugs.gnu.org)
20180612184647.GA20407@jasmine.lan
On Tue, Jun 12, 2018 at 01:23:25PM +0200, Ricardo Wurmus wrote:
Toggle quote (2 lines)
> * gnu/packages/profiling.scm (iozone): New variable.

Overall the package LGTM...

Toggle quote (3 lines)
> + (license (license:non-copyleft
> + "http://www.iozone.org/docs/Iozone_License.txt"))))

-----BEGIN PGP SIGNATURE-----

iQIzBAABCAAdFiEEsFFZSPHn08G5gDigJkb6MLrKfwgFAlsgFRQACgkQJkb6MLrK
fwijCw/+Jf4GhaNpTcU79QsZowD322Uv+QbNablaQ8/UqKY4WSLZTs5VIJENDKp+
qxuWx+zET9j6bnBzkpBV3Mvhh5Vu4TfdSEOMCRE13FIkK7zkvMzaTa74tFqOBbAx
vw34Vh1VJxObYnr6rmrM2LFxk3zXieBcDuMARvztHmF6jt0X8IZ/K/TMKen+RTnD
TB3REry+lPW4Cg87mM9fm6KG/szQy98yyxE4/mAA1MANsgSKeW7PSVdhvCBvJfa7
e9lLh6q6QTkzK0lcXLYBm+rxZUShZ8X+9kqR8FvZwi/k3J1gpSq4BdYCYHADHJAI
cCAKO33ajPmqVFxQP49SwBDunpAmerP0Oj1YLuAjujmcUX7P+armZAl/vTkPymXB
+h0foFzia2kBdxnzNVNaKbn0pC1kAZP2Wv1BlvDkslxVA8nKjlgbxH6gEbBJs+2H
d2Ui/bhdCZARrOY2E07vlVnOaYNFPWbm2h7xRcpyqeeprmtkj/t1ncj+cj93Fy8c
Ja6VRNzUtXT4KJ/nJVvDpsrbU/vc4EoGqcObtsDc7ctT8/cRyZFNIyboOmghGHe+
nuHuIWMETJNa4/0Mg7OYds8NmFwUSgVZZ2pMqKrFB7P0fIK3TBiOIufft8N9LYKR
PTwUVn7f59aJxJPPadwNo8CA37O6lsIDGI/LW9sZdv1c4eppFLo=
=MMXp
-----END PGP SIGNATURE-----


R
R
Ricardo Wurmus wrote on 14 Jun 2018 14:32
(name . Leo Famulari)(address . leo@famulari.name)(address . 31798@debbugs.gnu.org)
87a7rxblae.fsf@elephly.net
Hi Leo,

Toggle quote (12 lines)
> On Tue, Jun 12, 2018 at 01:23:25PM +0200, Ricardo Wurmus wrote:
>> * gnu/packages/profiling.scm (iozone): New variable.
>
> Overall the package LGTM...
>
>> + (license (license:non-copyleft
>> + "http://www.iozone.org/docs/Iozone_License.txt"))))
>
> The licensing is a little complicated:
>
> http://metadata.ftp-master.debian.org/changelogs/non-free/i/iozone3/iozone3_429-3_copyright

Oh, I must have misunderstood the license text:

Toggle snippet (7 lines)
License to freely use and distribute this software is hereby granted
by the author, subject to the condition that this copyright notice
remains intact. The author retains the exclusive right to publish
derivative works based on this work, including, but not limited to,
revised versions of this work.

Does “exclusive right to publish derivative works” means that people
other than the author may not distribute modified variants of iozone?
So the license only permits use and distribution of unmodified copies?

Bummer :(

I assumed that this sentence would just be an assertion of the original
authors’ right to change the code as they please without having to abide
by the license themselves (in case they are no longer copyright
holders), but the word “exclusive” does seem to make this non-free.

My interpretation seems to be backed by what the author wrote, as quoted
in the Debian copyright file:

Toggle snippet (14 lines)
The last time I spoke with Norcott I asked him about the intent
of the license. He indicated that anyone could use it and distribute
it for free. The idea of the later sentence was to protect Iozone
so that if someone modified it, the original author would still
have the right to publish future works that included any additions
that anyone might have made. And, that all of the code that is
in Iozone could be used by the original author in other projects
that may or may not be freeware. Iozone's code is intended to
be freely available. It would not be in the spirit of the license
for someone to take the code out of Iozone, repackage it
into a commercial package, re-license it or patent it, and then
prevent the original author of Iozone from using his own code.

“repackage it into a commercial package” again is a confusing statement,
because Free Software can be sold. Would the sale of a medium
containing Iozone be considered a violation of the license…?

This is confusing enough to make me want to drop the patch :-/

Thanks for bringing this to our attention!

--
Ricardo
G
G
Gábor Boskovits wrote on 21 Jun 2018 13:44
gnu: Add iozone. Add won't fix. Non-free software.
(address . control@debbugs.gnu.org)
CAE4v=phn6noZNy1DeQ91DWEi3iMfb0oXTwQR860UdjqrW2NoHQ@mail.gmail.com
tags 31798 + wontfix
Attachment: file
G
G
Gábor Boskovits wrote on 26 Jun 2018 08:11
gnu: Add iozone.
(address . 31798-done@debbugs.gnu.org)
CAE4v=pj40i+FeC_O41bjx8Y4yGy-8rFAQfbyi90XzMVYNUUofg@mail.gmail.com
After negative response from upstream regarding the licensing issue, I'm
closing this.
Attachment: file
Closed
?
Your comment

This issue is archived.

To comment on this conversation send email to 31798@debbugs.gnu.org