Revert "PRELIMINARY: gnu: Add network-manager."
[jackhill/guix/guix.git] / gnu / packages / admin.scm
CommitLineData
233e7676 1;;; GNU Guix --- Functional package management for GNU
61bdd0d8 2;;; Copyright © 2012, 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org>
340c7033 3;;; Copyright © 2013 Cyril Roelandt <tipecaml@gmail.com>
9a727700 4;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org>
87216303 5;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org>
da6c3749 6;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
15926aec 7;;; Copyright © 2015 Alex Sassmannshausen <alex.sassmannshausen@gmail.com>
8d801045 8;;; Copyright © 2015 Eric Dvorsak <eric@dvorsak.fr>
1df895b0 9;;;
233e7676 10;;; This file is part of GNU Guix.
1df895b0 11;;;
233e7676 12;;; GNU Guix is free software; you can redistribute it and/or modify it
1df895b0
LC
13;;; under the terms of the GNU General Public License as published by
14;;; the Free Software Foundation; either version 3 of the License, or (at
15;;; your option) any later version.
16;;;
233e7676 17;;; GNU Guix is distributed in the hope that it will be useful, but
1df895b0
LC
18;;; WITHOUT ANY WARRANTY; without even the implied warranty of
19;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20;;; GNU General Public License for more details.
21;;;
22;;; You should have received a copy of the GNU General Public License
233e7676 23;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
1df895b0 24
4aeea896 25(define-module (gnu packages admin)
f61e0e79 26 #:use-module ((guix licenses) #:prefix license:)
1df895b0 27 #:use-module (guix packages)
4fb7e0de 28 #:use-module (guix utils)
1df895b0 29 #:use-module (guix download)
aaff68ee 30 #:use-module (guix git-download)
fbc1a58f 31 #:use-module (guix build-system cmake)
1df895b0 32 #:use-module (guix build-system gnu)
4ecfbda7 33 #:use-module (guix build-system python)
c773aba8 34 #:use-module (guix build-system trivial)
59a43334 35 #:use-module (gnu packages)
c73d4c92 36 #:use-module (gnu packages base)
9a9e72d5 37 #:use-module (gnu packages ncurses)
9927622f 38 #:use-module (gnu packages readline)
f15164e7
LC
39 #:use-module (gnu packages linux)
40 #:use-module (gnu packages guile)
1dba6407 41 #:use-module (gnu packages gettext)
c73d4c92 42 #:use-module (gnu packages perl)
87216303 43 #:use-module (gnu packages tcl)
f61e0e79 44 #:use-module (gnu packages compression)
a7fd7b68 45 #:use-module (gnu packages tls)
61bdd0d8 46 #:use-module (gnu packages gnupg)
02c86a5e
LC
47 #:use-module (gnu packages bison)
48 #:use-module (gnu packages flex)
49 #:use-module (gnu packages glib)
87216303 50 #:use-module (gnu packages pkg-config)
b36fcf95 51 #:use-module (gnu packages popt)
fccf2fe0 52 #:use-module (gnu packages texinfo)
e1485c7b 53 #:use-module (gnu packages groff)
42dc3af5
MW
54 #:use-module (gnu packages pciutils)
55 #:use-module (gnu packages libusb)
56 #:use-module (gnu packages libftdi)
c4492a16 57 #:use-module (gnu packages image)
da6c3749 58 #:use-module (gnu packages xorg)
d525da85
LC
59 #:use-module (gnu packages python)
60 #:use-module (gnu packages man))
f15164e7
LC
61
62(define-public dmd
63 (package
64 (name "dmd")
b3342b54 65 (version "0.2")
f15164e7
LC
66 (source (origin
67 (method url-fetch)
d0821398
LC
68 (uri (string-append "ftp://alpha.gnu.org/gnu/dmd/dmd-"
69 version ".tar.gz"))
f15164e7
LC
70 (sha256
71 (base32
b3342b54 72 "10fl4k96f17gqx2fv8iw9c61ld26gsk4bbrlfqckdmiimz1k175z"))))
f15164e7
LC
73 (build-system gnu-build-system)
74 (arguments
75 '(#:configure-flags '("--localstatedir=/var")))
2941448e
LC
76 (native-inputs `(("pkg-config" ,pkg-config)))
77 (inputs `(("guile" ,guile-2.0)))
f15164e7 78 (synopsis "Daemon managing daemons")
a22dc0c4 79 (description
79c311b8
LC
80 "GNU DMD is a daemon-managing daemon, meaning that it manages the
81execution of system services, replacing similar functionality found in
82typical init systems. It provides dependency-handling through a convenient
83interface and is based on GNU Guile.")
f61e0e79 84 (license license:gpl3+)
f15164e7 85 (home-page "http://www.gnu.org/software/dmd/")))
1df895b0 86
fbc1a58f
CR
87(define-public dfc
88 (package
89 (name "dfc")
180d7ac1 90 (version "3.0.4")
fbc1a58f
CR
91 (source
92 (origin
93 (method url-fetch)
94 (uri (string-append
180d7ac1 95 "http://projects.gw-computing.net/attachments/download/79/dfc-"
fbc1a58f
CR
96 version ".tar.gz"))
97 (sha256
98 (base32
180d7ac1 99 "0zk1ppx93ijimf4sbgqilxxikpsa2gmpbynknyh41xy7jbdjxp0b"))))
fbc1a58f
CR
100 (build-system cmake-build-system)
101 (arguments '(#:tests? #f)) ; There are no tests.
1dba6407 102 (native-inputs `(("gettext" ,gnu-gettext)))
fbc1a58f
CR
103 (home-page "http://projects.gw-computing.net/projects/dfc")
104 (synopsis "Display file system space usage using graphs and colors")
105 (description
106 "dfc (df color) is a modern version of df. It uses colors, draws pretty
107graphs and can export its output to different formats.")
f61e0e79 108 (license license:bsd-3)))
fbc1a58f 109
340c7033
CR
110(define-public htop
111 (package
112 (name "htop")
da891830 113 (version "1.0.3")
340c7033
CR
114 (source (origin
115 (method url-fetch)
20e6c852 116 (uri (string-append "http://hisham.hm/htop/releases/"
340c7033
CR
117 version "/htop-" version ".tar.gz"))
118 (sha256
119 (base32
da891830 120 "0a8qbpsifzjwc4f45xfwm48jhm59g6q5hlib4bf7z13mgy95fp05"))))
340c7033
CR
121 (build-system gnu-build-system)
122 (inputs
123 `(("ncurses" ,ncurses)))
124 (home-page "http://htop.sourceforge.net/")
125 (synopsis "Interactive process viewer")
126 (description
127 "This is htop, an interactive process viewer. It is a text-mode
128application (for console or X terminals) and requires ncurses.")
f61e0e79 129 (license license:gpl2)))
340c7033 130
1df895b0
LC
131(define-public pies
132 (package
133 (name "pies")
134 (version "1.2")
135 (source
136 (origin
137 (method url-fetch)
138 (uri (string-append "mirror://gnu/pies/pies-"
139 version ".tar.bz2"))
140 (sha256
141 (base32
142 "18w0dbg77i56cx1bwa789w0qi3l4xkkbascxcv2b6gbm0zmjg1g6"))))
143 (build-system gnu-build-system)
144 (home-page "http://www.gnu.org/software/pies/")
f50d2669 145 (synopsis "Program invocation and execution supervisor")
1df895b0 146 (description
79c311b8 147 "GNU pies is a program that supervises the invocation and execution of
a22dc0c4
LC
148other programs. It reads the list of programs to be started from its
149configuration file, executes them, and then monitors their status,
150re-executing them as necessary.")
f61e0e79 151 (license license:gpl3+)))
1df895b0
LC
152
153(define-public inetutils
154 (package
155 (name "inetutils")
8b1c8e4e 156 (version "1.9.4")
01eafd38
LC
157 (source (origin
158 (method url-fetch)
159 (uri (string-append "mirror://gnu/inetutils/inetutils-"
160 version ".tar.gz"))
161 (sha256
162 (base32
8b1c8e4e 163 "05n65k4ixl85dc6rxc51b1b732gnmm8xnqi424dy9f1nz7ppb3xy"))))
1df895b0 164 (build-system gnu-build-system)
01eafd38 165 (arguments `(;; FIXME: `tftp.sh' relies on `netstat' from utils-linux,
1df895b0
LC
166 ;; which is currently missing.
167 #:tests? #f))
9927622f
LC
168 (inputs `(("ncurses" ,ncurses)
169 ("readline" ,readline))) ; for 'ftp'
1df895b0 170 (home-page "http://www.gnu.org/software/inetutils/")
f50d2669 171 (synopsis "Basic networking utilities")
1df895b0 172 (description
a22dc0c4
LC
173 "Inetutils is a collection of common network programs, such as an ftp
174client and server, a telnet client and server, and an rsh client and server.")
f61e0e79 175 (license license:gpl3+)))
9a9e72d5
LC
176
177(define-public shadow
178 (package
179 (name "shadow")
180 (version "4.1.5.1")
181 (source (origin
aaff68ee
LC
182 ;; Shadow has no real upstream, and not even tarballs.
183 ;; See <https://lists.gnu.org/archive/html/guix-devel/2014-03/msg00233.html>.
184 (method git-fetch)
185 (uri (git-reference
186 (url "git://git.debian.org/git/pkg-shadow/shadow")
187 (commit (string-append "upstream/" version))))
9a9e72d5
LC
188 (sha256
189 (base32
aaff68ee 190 "1xx85d83kmacmjzqbamgydcjkwsqd5fi1s2wgwx6myq5wa39qx0n"))))
9a9e72d5
LC
191 (build-system gnu-build-system)
192 (arguments
193 '(;; Assume System V `setpgrp (void)', which is the default on GNU
194 ;; variants (`AC_FUNC_SETPGRP' is not cross-compilation capable.)
195 #:configure-flags '("--with-libpam" "ac_cv_func_setpgrp_void=yes")
196
197 #:phases (alist-cons-before
198 'build 'set-nscd-file-name
199 (lambda* (#:key inputs #:allow-other-keys)
200 ;; Use the right file name for nscd.
201 (let ((libc (assoc-ref inputs "libc")))
202 (substitute* "lib/nscd.c"
203 (("/usr/sbin/nscd")
204 (string-append libc "/sbin/nscd")))))
205 (alist-cons-after
206 'install 'remove-groups
207 (lambda* (#:key outputs #:allow-other-keys)
208 ;; Remove `groups', which is already provided by Coreutils.
209 (let* ((out (assoc-ref outputs "out"))
210 (bin (string-append out "/bin"))
211 (man (string-append out "/share/man/man1")))
212 (delete-file (string-append bin "/groups"))
213 (for-each delete-file (find-files man "^groups\\."))
214 #t))
8d846470 215 %standard-phases))))
9a9e72d5
LC
216
217 (inputs (if (string-suffix? "-linux"
218 (or (%current-target-system)
219 (%current-system)))
220 `(("linux-pam" ,linux-pam))
221 '()))
222 (home-page "http://pkg-shadow.alioth.debian.org/")
223 (synopsis "Authentication-related tools such as passwd, su, and login")
224 (description
225 "Shadow provides a number of authentication-related tools, including:
226login, passwd, su, groupadd, and useradd.")
227
228 ;; The `vipw' program is GPLv2+.
229 ;; libmisc/salt.c is public domain.
f61e0e79 230 (license license:bsd-3)))
1e151896
LC
231
232(define-public mingetty
233 (package
234 (name "mingetty")
235 (version "1.08")
236 (source (origin
237 (method url-fetch)
238 (uri (string-append "mirror://sourceforge/mingetty/mingetty-"
239 version ".tar.gz"))
240 (sha256
241 (base32
242 "05yxrp44ky2kg6qknk1ih0kvwkgbn9fbz77r3vci7agslh5wjm8g"))))
243 (build-system gnu-build-system)
244 (arguments
245 `(#:phases (alist-replace 'configure
246 (lambda* (#:key inputs outputs
247 #:allow-other-keys)
248 (let* ((out (assoc-ref outputs "out"))
249 (man8 (string-append
250 out "/share/man/man8"))
251 (sbin (string-append out "/sbin"))
252 (shadow (assoc-ref inputs "shadow"))
253 (login (string-append shadow
254 "/bin/login")))
255 (substitute* "Makefile"
256 (("^SBINDIR.*")
257 (string-append "SBINDIR = " out
258 "/sbin\n"))
259 (("^MANDIR.*")
260 (string-append "MANDIR = " out
261 "/share/man/man8\n")))
262
263 ;; Pick the right 'login' by default.
264 (substitute* "mingetty.c"
265 (("\"/bin/login\"")
266 (string-append "\"" login "\"")))
267
268 (mkdir-p sbin)
269 (mkdir-p man8)))
270 %standard-phases)
271 #:tests? #f)) ; no tests
272 (inputs `(("shadow" ,shadow)))
273
274 (home-page "http://sourceforge.net/projects/mingetty")
275 (synopsis "Getty for the text console")
276 (description
277 "Small console getty that is started on the Linux text console,
278asks for a login name and then transfers over to 'login'. It is extended to
279allow automatic login and starting any app.")
f61e0e79 280 (license license:gpl2+)))
c773aba8
LC
281
282(define-public net-base
283 (package
284 (name "net-base")
db719df7 285 (version "5.3")
c773aba8
LC
286 (source (origin
287 (method url-fetch)
288 (uri (string-append
34af3684 289 "mirror://debian/pool/main/n/netbase/netbase_"
db719df7 290 version ".tar.xz"))
c773aba8
LC
291 (sha256
292 (base32
db719df7 293 "12xqjwg3p4rzmmh2iib6sigm9l29y3dgk74mmnw64k84jnbwdxl1"))))
c773aba8
LC
294 (build-system trivial-build-system)
295 (arguments
296 `(#:modules ((guix build utils))
297 #:builder (begin
298 (use-modules (guix build utils)
299 (srfi srfi-26))
300
301 (let* ((source (assoc-ref %build-inputs "source"))
302 (tar (assoc-ref %build-inputs "tar"))
db719df7 303 (xz (assoc-ref %build-inputs "xz"))
c773aba8
LC
304 (output (assoc-ref %outputs "out"))
305 (etc (string-append output "/etc")))
db719df7 306 (setenv "PATH" (string-append xz "/bin"))
c773aba8
LC
307 (system* (string-append tar "/bin/tar") "xvf"
308 source)
309 (chdir ,(string-append "netbase-" version))
310 (mkdir-p etc)
311 (for-each copy-file
312 '("etc-services" "etc-protocols" "etc-rpc")
313 (map (cut string-append etc "/" <>)
314 '("services" "protocols" "rpc")))
315 #t))))
316 (native-inputs `(("tar" ,tar)
f61e0e79 317 ("xz" ,xz)))
c773aba8
LC
318 (synopsis "IANA protocol, port, and RPC number assignments")
319 (description
320 "This package provides the /etc/services, /etc/protocols, and /etc/rpc
321files, which contain information about the IANA-assigned port, protocol, and
e881752c 322ONC RPC numbers.")
c773aba8 323 (home-page "http://packages.debian.org/sid/netbase")
f61e0e79 324 (license license:gpl2)))
94c4a58a
LC
325
326(define-public netcat
327 (package
328 (name "netcat")
329 (version "0.7.1")
330 (source (origin
331 (method url-fetch)
332 (uri (string-append "mirror://sourceforge/netcat/netcat-"
333 version ".tar.bz2"))
334 (sha256
335 (base32
336 "1frjcdkhkpzk0f84hx6hmw5l0ynpmji8vcbaxg8h5k2svyxz0nmm"))))
337 (build-system gnu-build-system)
0e4e89c2
MW
338 (arguments
339 `(#:configure-flags
340 ;; By default, man and info pages are put in PREFIX/{man,info},
341 ;; but we want them in PREFIX/share/{man,info}.
342 (let ((out (assoc-ref %outputs "out")))
343 (list (string-append "--mandir=" out "/share/man")
344 (string-append "--infodir=" out "/share/info")))))
94c4a58a
LC
345 (home-page "http://netcat.sourceforge.net")
346 (synopsis "Read and write data over TCP/IP")
347 (description
348 "Netcat is a featured networking utility which reads and writes data
349across network connections, using the TCP/IP protocol. It is designed to be a
350reliable \"back-end\" tool that can be used directly or easily driven by other
35b9e423 351programs and scripts. At the same time, it is a feature-rich network debugging
94c4a58a
LC
352and exploration tool, since it can create almost any kind of connection you
353would need and has several interesting built-in capabilities.")
f61e0e79 354 (license license:gpl2+)))
d038cac1
LC
355
356(define-public alive
357 (package
358 (name "alive")
359 (version "2.0.2")
360 (source (origin
361 (method url-fetch)
362 (uri (string-append "mirror://gnu/alive/alive-"
363 version ".tar.xz"))
364 (sha256
365 (base32
366 "1vrzg51ai68x9yld7vbgl58sxaw5qpx8rbakwcxn4cqq6vpxj38j"))))
367 (build-system gnu-build-system)
368 (arguments '(#:configure-flags '("alive_cv_nice_ping=yes")))
369 (inputs `(("guile" ,guile-2.0)
370 ("inetutils" ,inetutils)))
371 (home-page "http://www.gnu.org/software/alive/")
372 (synopsis "Autologin and keep-alive daemon")
373 (description
374 "GNU Alive sends periodic pings to a server, generally to keep a
375connection alive.")
f61e0e79 376 (license license:gpl3+)))
c73d4c92
LC
377
378(define-public isc-dhcp
379 (package
380 (name "isc-dhcp")
447ce591 381 (version "4.3.1")
c73d4c92
LC
382 (source (origin
383 (method url-fetch)
384 (uri (string-append "http://ftp.isc.org/isc/dhcp/"
385 version "/dhcp-" version ".tar.gz"))
386 (sha256
387 (base32
447ce591 388 "1w4s7sni1m9223ya8m2a64lr62845c6xlraprjf8zfx6lylbqv16"))))
c73d4c92
LC
389 (build-system gnu-build-system)
390 (arguments
391 '(#:phases (alist-cons-after
392 'configure 'post-configure
393 (lambda* (#:key outputs #:allow-other-keys)
394 ;; Point to the right client script, which will be
395 ;; installed in a later phase.
396 (substitute* "includes/dhcpd.h"
397 (("#define[[:blank:]]+_PATH_DHCLIENT_SCRIPT.*")
398 (let ((out (assoc-ref outputs "out")))
399 (string-append "#define _PATH_DHCLIENT_SCRIPT \""
400 out "/libexec/dhclient-script"
401 "\"\n"))))
402
403 ;; During the 'build' phase, 'bind.tar.gz' is extracted, so
404 ;; we must patch shebangs in there and make sure the right
405 ;; shell is used.
406 (with-directory-excursion "bind"
407 (substitute* "Makefile"
408 (("\\./configure")
409 (let ((sh (which "sh")))
410 (string-append "./configure CONFIG_SHELL="
411 sh " SHELL=" sh))))
412
413 (system* "tar" "xf" "bind.tar.gz")
414 (for-each patch-shebang
447ce591 415 (find-files "bind-9.9.5-P1" ".*"))
c73d4c92 416 (zero? (system* "tar" "cf" "bind.tar.gz"
c09e6a5f
MW
417 "bind-9.9.5-P1"
418 ;; avoid non-determinism in the archive
419 "--mtime=@0"
420 "--owner=root:0"
421 "--group=root:0"))))
c73d4c92
LC
422 (alist-cons-after
423 'install 'post-install
424 (lambda* (#:key inputs outputs #:allow-other-keys)
425 ;; Install the dhclient script for GNU/Linux and make sure
426 ;; if finds all the programs it needs.
427 (let* ((out (assoc-ref outputs "out"))
428 (libexec (string-append out "/libexec"))
429 (coreutils (assoc-ref inputs "coreutils"))
94c43007 430 (inetutils (assoc-ref inputs "inetutils"))
c73d4c92
LC
431 (net-tools (assoc-ref inputs "net-tools"))
432 (sed (assoc-ref inputs "sed")))
433 (substitute* "client/scripts/linux"
434 (("/sbin/ip")
435 (string-append (assoc-ref inputs "iproute")
436 "/sbin/ip")))
437
438 (mkdir-p libexec)
439 (copy-file "client/scripts/linux"
440 (string-append libexec "/dhclient-script"))
441
94c43007
MW
442 (wrap-program
443 (string-append libexec "/dhclient-script")
444 `("PATH" ":" prefix
445 ,(map (lambda (dir)
446 (string-append dir "/bin:"
447 dir "/sbin"))
448 (list inetutils net-tools coreutils sed))))))
c73d4c92
LC
449 %standard-phases))))
450
451 (native-inputs `(("perl" ,perl)))
452
94c43007
MW
453 (inputs `(("inetutils" ,inetutils)
454 ("net-tools" ,net-tools)
dc343935
LC
455 ("iproute" ,iproute)
456
457 ;; When cross-compiling, we need the cross Coreutils and sed.
458 ;; Otherwise just use those from %FINAL-INPUTS.
459 ,@(if (%current-target-system)
460 `(("coreutils" ,coreutils)
461 ("sed" ,sed))
462 '())))
c73d4c92
LC
463
464 (home-page "http://www.isc.org/products/DHCP/")
465 (synopsis "Dynamic Host Configuration Protocol (DHCP) tools")
466 (description
467 "ISC's Dynamic Host Configuration Protocol (DHCP) distribution provides a
468reference implementation of all aspects of DHCP, through a suite of DHCP
469tools: server, client, and relay agent.")
f61e0e79 470 (license license:isc)))
02c86a5e
LC
471
472(define-public libpcap
473 (package
474 (name "libpcap")
475 (version "1.5.3")
476 (source (origin
477 (method url-fetch)
478 (uri (string-append "http://www.tcpdump.org/release/libpcap-"
479 version ".tar.gz"))
480 (sha256
481 (base32
482 "14wyjywrdi1ikaj6yc9c72m6m2r64z94lb0gm7k1a3q6q5cj3scs"))))
483 (build-system gnu-build-system)
484 (native-inputs `(("bison" ,bison) ("flex" ,flex)))
e03f6d5e
RW
485 (arguments '(#:configure-flags '("--with-pcap=linux")
486 #:tests? #f)) ; no 'check' target
02c86a5e
LC
487 (home-page "http://www.tcpdump.org")
488 (synopsis "Network packet capture library")
489 (description
490 "libpcap is an interface for user-level packet capture. It provides a
491portable framework for low-level network monitoring. Applications include
492network statistics collection, security monitoring, network debugging, etc.")
493
494 ;; fad-*.c and a couple other files are BSD-4, but the rest is BSD-3.
f61e0e79 495 (license license:bsd-3)))
02c86a5e 496
1da34f5a
LC
497(define-public tcpdump
498 (package
499 (name "tcpdump")
500 (version "4.5.1")
501 (source (origin
502 (method url-fetch)
503 (uri (string-append "http://www.tcpdump.org/release/tcpdump-"
504 version ".tar.gz"))
505 (sha256
506 (base32
507 "15hb7zkzd66nag102qbv100hcnf7frglbkylmr8adwr8f5jkkaql"))))
508 (build-system gnu-build-system)
10db1e6c 509 (inputs `(("libpcap" ,libpcap)
cc2b77df 510 ("openssl" ,openssl)))
1da34f5a 511 (native-inputs `(("perl" ,perl))) ; for tests
1da34f5a
LC
512 (home-page "http://www.tcpdump.org/")
513 (synopsis "Network packet analyzer")
514 (description
515 "Tcpdump is a command-line tool to analyze network traffic passing
516through the network interface controller.")
f61e0e79 517 (license license:bsd-3)))
1da34f5a 518
02c86a5e
LC
519(define-public jnettop
520 (package
521 (name "jnettop")
522 (version "0.13.0")
523 (source (origin
524 (method url-fetch)
525 (uri (string-append "http://jnettop.kubs.info/dist/jnettop-"
526 version ".tar.gz"))
527 (sha256
528 (base32
529 "1855np7c4b0bqzhf1l1dyzxb90fpnvrirdisajhci5am6als31z9"))))
530 (build-system gnu-build-system)
531 (native-inputs
532 `(("pkg-config" ,pkg-config)))
533 (inputs
534 `(("glib" ,glib)
535 ("ncurses" ,ncurses)
536 ("libpcap" ,libpcap)))
537 (home-page "http://jnettop.kubs.info/")
538 (synopsis "Visualize network traffic by bandwidth use")
539 (description
540 "Jnettop is a traffic visualiser, which captures traffic going
541through the host it is running from and displays streams sorted
542by bandwidth they use.")
f61e0e79 543 (license license:gpl2+)))
87216303
EB
544
545(define-public clusterssh
546 (package
547 (name "clusterssh")
548 (version "3.28")
549 (source (origin
550 (method url-fetch)
551 (uri (string-append "mirror://sourceforge/clusterssh/"
552 "clusterssh-" version ".tar.gz"))
553 (sha256
554 (base32
555 "1bwggpvaj2al5blg1ynapviv2kpydffpzq2zkhi81najnvzc1rr7"))))
556 (build-system gnu-build-system)
557 (inputs `(("perl" ,perl)))
558 (propagated-inputs `(("xterm" ,xterm)
559 ("perl-tk" ,perl-tk)
560 ("perl-x11-protocol" ,perl-x11-protocol)))
561 (arguments
562 `(#:phases
563 (alist-cons-after
564 'install 'set-load-paths
565 (lambda* (#:key inputs outputs #:allow-other-keys)
566 ;; Put the perl-tk and perl-x11-protocol modules in the perl inc
567 ;; path for PROG
568 (let* ((out (assoc-ref outputs "out"))
569 (prog (string-append out "/bin/cssh"))
570 (perl-ver ,(package-version perl))
571 (x11-inc (string-append
572 (assoc-ref inputs "perl-x11-protocol")
573 "/lib/perl5/site_perl/" perl-ver))
574 (tk-inc (string-append
575 (assoc-ref inputs "perl-tk")
576 "/lib/perl5/site_perl/" perl-ver
577 "/x86_64-linux")))
578 (wrap-program
579 prog
580 `("PERL5LIB" ":" prefix (,x11-inc ,tk-inc)))))
581 %standard-phases)))
582 ;; The clusterssh.sourceforge.net address requires login to view
583 (home-page "http://sourceforge.net/projects/clusterssh/")
584 (synopsis "Secure concurrent multi-server terminal control")
585 (description
586 "ClusterSSH controls a number of xterm windows via a single graphical
587console window to allow commands to be interactively run on multiple servers
588over ssh connections.")
f61e0e79 589 (license license:gpl2+)))
fccf2fe0
LC
590
591(define-public rottlog
592 (package
593 (name "rottlog")
594 (version "0.72.2")
595 (source (origin
596 (method url-fetch)
597 (uri (string-append "mirror://gnu/rottlog/rottlog-"
598 version ".tar.gz"))
599 (sha256
600 (base32
601 "0751mb9l2f0jrk3vj6q8ilanifd121dliwk0c34g8k0dlzsv3kd7"))
602 (modules '((guix build utils)))
603 (snippet
604 '(substitute* "Makefile.in"
605 (("-o \\$\\{LOG_OWN\\} -g \\$\\{LOG_GROUP\\}")
606 ;; Don't try to chown root.
607 "")
608 (("mkdir -p \\$\\(ROTT_STATDIR\\)")
609 ;; Don't attempt to create /var/lib/rottlog.
610 "true")))))
611 (build-system gnu-build-system)
612 (arguments
613 '(#:configure-flags (list (string-append "ROTT_ETCDIR="
614 (assoc-ref %outputs "out")
615 "/etc")
616 "--localstatedir=/var")
617 #:phases (alist-cons-after
618 'install 'install-info
619 (lambda _
620 (zero? (system* "make" "install-info")))
621 %standard-phases)))
622 (native-inputs `(("texinfo" ,texinfo)
623 ("util-linux" ,util-linux))) ; for 'cal'
624 (home-page "http://www.gnu.org/software/rottlog/")
625 (synopsis "Log rotation and management")
626 (description
627 "GNU Rot[t]log is a program for managing log files. It is used to
628automatically rotate out log files when they have reached a given size or
629according to a given schedule. It can also be used to automatically compress
630and archive such logs. Rot[t]log will mail reports of its activity to the
631system administrator.")
f61e0e79 632 (license license:gpl3+)))
e1485c7b
LC
633
634(define-public sudo
635 (package
636 (name "sudo")
a915ab6a 637 (version "1.8.10p3")
e1485c7b
LC
638 (source (origin
639 (method url-fetch)
640 (uri
641 (list (string-append "http://www.sudo.ws/sudo/dist/sudo-"
642 version ".tar.gz")
643 (string-append "ftp://ftp.sudo.ws/pub/sudo/OLD/sudo-"
644 version ".tar.gz")))
645 (sha256
646 (base32
a915ab6a 647 "002l6h27pnhb77b65frhazbhknsxvrsnkpi43j7i0qw1lrgi7nkf"))))
e1485c7b
LC
648 (build-system gnu-build-system)
649 (arguments
e1626e3b
SB
650 `(#:configure-flags '("--with-logpath=/var/log/sudo.log"
651 "--with-rundir=/run/sudo"
652 "--with-vardir=/var/db/sudo"
653 "--with-iologdir=/var/log/sudo-io")
e1485c7b
LC
654 #:phases (alist-cons-before
655 'configure 'pre-configure
656 (lambda _
657 (substitute* "configure"
658 ;; Refer to the right executables.
659 (("/usr/bin/mv") (which "mv"))
660 (("/usr/bin/sh") (which "sh")))
661 (substitute* (find-files "." "Makefile\\.in")
662 (("-O [[:graph:]]+ -G [[:graph:]]+")
663 ;; Allow installation as non-root.
664 "")
665 (("^install: (.*)install-sudoers(.*)" _ before after)
666 ;; Don't try to create /etc/sudoers.
e1626e3b
SB
667 (string-append "install: " before after "\n"))
668 (("\\$\\(DESTDIR\\)\\$\\(rundir\\)")
669 ;; Don't try to create /run/sudo.
670 "$(TMPDIR)/dummy")
671 (("\\$\\(DESTDIR\\)\\$\\(vardir\\)")
672 ;; Don't try to create /var/db/sudo.
673 "$(TMPDIR)/dummy")))
e1485c7b
LC
674 %standard-phases)
675
676 ;; XXX: The 'testsudoers' test series expects user 'root' to exist, but
677 ;; the chroot's /etc/passwd doesn't have it. Turn off the tests.
678 #:tests? #f))
679 (inputs
680 `(("groff" ,groff)
681 ("linux-pam" ,linux-pam)
682 ("coreutils" ,coreutils)))
683 (home-page "http://www.sudo.ws/")
684 (synopsis "Run commands as root")
685 (description
686 "Sudo (su \"do\") allows a system administrator to delegate authority to
687give certain users (or groups of users) the ability to run some (or all)
688commands as root or another user while providing an audit trail of the
689commands and their arguments.")
690
691 ;; See <http://www.sudo.ws/sudo/license.html>.
f61e0e79 692 (license license:x11)))
952298d7 693
4fb7e0de 694(define-public wpa-supplicant-light
952298d7 695 (package
4fb7e0de 696 (name "wpa-supplicant-light")
10d98240 697 (version "2.4")
952298d7
LC
698 (source (origin
699 (method url-fetch)
700 (uri (string-append
9a727700 701 "http://w1.fi/releases/wpa_supplicant-"
952298d7
LC
702 version
703 ".tar.gz"))
704 (sha256
705 (base32
10d98240 706 "08li21q1wjn5chrv289w666il9ah1w419y3dkq2rl4wnq0rci385"))
23d00fb0 707 (patches
d48c8e7b
MW
708 (map search-patch '("wpa-supplicant-CVE-2015-1863.patch"
709 "wpa-supplicant-2015-2-fix.patch"
710 "wpa-supplicant-2015-3-fix.patch"
711 "wpa-supplicant-2015-4-fix-pt1.patch"
712 "wpa-supplicant-2015-4-fix-pt2.patch"
713 "wpa-supplicant-2015-4-fix-pt3.patch"
714 "wpa-supplicant-2015-4-fix-pt4.patch"
9fb00f38
MW
715 "wpa-supplicant-2015-4-fix-pt5.patch"
716 "wpa-supplicant-2015-5-fix.patch")))))
952298d7
LC
717 (build-system gnu-build-system)
718 (arguments
719 '(#:phases (alist-replace
720 'configure
721 (lambda* (#:key outputs #:allow-other-keys)
722 (chdir "wpa_supplicant")
723 (copy-file "defconfig" ".config")
724 (let ((port (open-file ".config" "al")))
725 (display "
726 CONFIG_DEBUG_SYSLOG=y
40b4c6d6 727
61bdd0d8
LC
728 # Choose GnuTLS (the default is OpenSSL.)
729 CONFIG_TLS=gnutls
730
952298d7
LC
731 CONFIG_DRIVER_NL80211=y
732 CFLAGS += $(shell pkg-config libnl-3.0 --cflags)
733 CONFIG_LIBNL32=y
734 CONFIG_READLINE=y\n" port)
735 (close-port port)))
ffd74de0
LC
736
737 (alist-cons-after
738 'install 'install-man-pages
739 (lambda* (#:key outputs #:allow-other-keys)
740 (let* ((out (assoc-ref outputs "out"))
741 (man (string-append out "/share/man"))
742 (man5 (string-append man "/man5"))
743 (man8 (string-append man "/man8")))
744 (define (copy-man-page target)
745 (lambda (file)
746 (copy-file file
747 (string-append target "/"
748 (basename file)))))
749
750 (mkdir-p man5) (mkdir man8)
751 (for-each (copy-man-page man5)
752 (find-files "doc/docbook" "\\.5"))
753 (for-each (copy-man-page man8)
754 (find-files "doc/docbook" "\\.8"))
755 #t))
756 %standard-phases))
952298d7
LC
757
758 #:make-flags (list "CC=gcc"
759 (string-append "BINDIR=" (assoc-ref %outputs "out")
760 "/sbin")
761 (string-append "LIBDIR=" (assoc-ref %outputs "out")
762 "/lib"))
763 #:tests? #f))
764 (inputs
765 `(("readline" ,readline)
766 ("libnl" ,libnl)
61bdd0d8
LC
767 ("gnutls" ,gnutls)
768 ("libgcrypt" ,libgcrypt))) ;needed by crypto_gnutls.c
952298d7
LC
769 (native-inputs
770 `(("pkg-config" ,pkg-config)))
9a727700 771 (home-page "http://w1.fi/wpa_supplicant/")
952298d7
LC
772 (synopsis "Connecting to WPA and WPA2-protected wireless networks")
773 (description
774 "wpa_supplicant is a WPA Supplicant with support for WPA and WPA2 (IEEE
775802.11i / RSN). Supplicant is the IEEE 802.1X/WPA component that is used in
776the client stations. It implements key negotiation with a WPA Authenticator
777and it controls the roaming and IEEE 802.11 authentication/association of the
778WLAN driver.
779
780This package provides the 'wpa_supplicant' daemon and the 'wpa_cli' command.")
781
782 ;; In practice, this is linked against Readline, which makes it GPLv3+.
f61e0e79 783 (license license:bsd-3)))
c6b76405 784
4fb7e0de
MW
785(define-public wpa-supplicant
786 (package (inherit wpa-supplicant-light)
787 (name "wpa-supplicant")
788 (inputs `(("dbus" ,dbus)
789 ,@(package-inputs wpa-supplicant-light)))
790 (arguments
791 (substitute-keyword-arguments (package-arguments wpa-supplicant-light)
792 ((#:phases phases)
9243fdf7
MW
793 `(modify-phases ,phases
794 (add-after
795 'configure 'configure-for-dbus
796 (lambda _
797 (let ((port (open-file ".config" "al")))
798 (display "
4fb7e0de
MW
799 CONFIG_CTRL_IFACE_DBUS=y
800 CONFIG_CTRL_IFACE_DBUS_NEW=y
801 CONFIG_CTRL_IFACE_DBUS_INTRO=y\n" port)
9243fdf7
MW
802 (close-port port))
803 #t))
804 (add-after
805 'install-man-pages 'install-dbus-conf
806 (lambda* (#:key outputs #:allow-other-keys)
807 (let* ((out (assoc-ref outputs "out"))
808 (conf-dir (string-append out "/etc/dbus-1/system.d"))
809 (service-dir
810 (string-append out "/share/dbus-1/system-services")))
811 (mkdir-p conf-dir)
812 (copy-file "dbus/dbus-wpa_supplicant.conf"
813 (string-append conf-dir "/wpa_supplicant.conf"))
814 (mkdir-p service-dir)
815 (for-each (lambda (file)
816 (copy-file
817 file
818 (string-append service-dir "/" (basename file))))
819 (find-files "dbus" "\\.service$"))
820 #t)))))))))
4fb7e0de 821
c6b76405
LC
822(define-public wakelan
823 (package
824 (name "wakelan")
825 (version "1.1")
826 (source (origin
827 (method url-fetch)
828 (uri (string-append
829 "ftp://ftp.gwdg.de/pub/linux/metalab/system/network/misc/wakelan-"
830 version ".tar.gz"))
831 (sha256
832 (base32
833 "0vydqpf44146ir6k87gmqaq6xy66xhc1gkr3nsd7jj3nhy7ypx9x"))))
834 (build-system gnu-build-system)
835 (arguments
836 '(#:phases (alist-replace
837 'configure
838 (lambda* (#:key outputs #:allow-other-keys)
839 (let ((out (assoc-ref outputs "out")))
840 (mkdir-p (string-append out "/bin"))
841 (mkdir-p (string-append out "/share/man/man1"))
842
843 ;; It's an old configure script that doesn't understand
844 ;; the extra options we pass.
845 (setenv "CONFIG_SHELL" (which "bash"))
846 (zero?
847 (system* "./configure"
848 (string-append "--prefix=" out)
849 (string-append "--mandir=" out
850 "/share/man")))))
851 %standard-phases)
852 #:tests? #f))
853 (home-page "http://kernel.org") ; really, no home page
854 (synopsis "Send a wake-on-LAN packet")
855 (description
856 "WakeLan broadcasts a properly formatted UDP packet across the local area
857network, which causes enabled computers to power on.")
f61e0e79 858 (license license:gpl2+)))
d43f4296
LC
859
860(define-public dmidecode
861 (package
862 (name "dmidecode")
863 (version "2.12")
864 (source (origin
865 (method url-fetch)
866 (uri (string-append
867 "mirror://savannah/dmidecode/dmidecode-"
868 version ".tar.bz2"))
869 (sha256
870 (base32
871 "122hgaw8mpqdfra159lfl6pyk3837giqx6vq42j64fjnbl2z6gwi"))))
872 (build-system gnu-build-system)
873 (arguments
874 '(#:phases (alist-delete 'configure %standard-phases)
875 #:tests? #f ; no 'check' target
876 #:make-flags (list (string-append "prefix="
877 (assoc-ref %outputs "out")))))
878 (home-page "http://www.nongnu.org/dmidecode/")
879 (synopsis "Read hardware information from the BIOS")
880 (description
881 "Dmidecode reports information about your system's hardware as described
882in your system BIOS according to the SMBIOS/DMI standard. This typically
883includes system manufacturer, model name, serial number, BIOS version, asset
884tag as well as a lot of other details of varying level of interest and
885reliability depending on the manufacturer. This will often include usage
886status for the CPU sockets, expansion slots (e.g. AGP, PCI, ISA) and memory
887module slots, and the list of I/O ports (e.g. serial, parallel, USB).")
f61e0e79 888 (license license:gpl2+)))
42dc3af5 889
13c8c2bf
MW
890(define-public acpica
891 (package
892 (name "acpica")
2036a648 893 (version "20150410")
13c8c2bf
MW
894 (source (origin
895 (method url-fetch)
896 (uri (string-append
897 "https://acpica.org/sites/acpica/files/acpica-unix2-"
898 version ".tar.gz"))
899 (sha256
900 (base32
2036a648 901 "0q1fjwkyw9x6gsva6fd0zbn7ly4fx0ha4853f416np9kf2irillw"))))
13c8c2bf
MW
902 (build-system gnu-build-system)
903 (native-inputs `(("flex" ,flex)
904 ("bison" ,bison)))
905 (arguments
906 '(#:make-flags (list (string-append "PREFIX=" %output)
907 "HOST=_LINUX"
908 "OPT_CFLAGS=-Wall -fno-strict-aliasing")
909 #:tests? #f ; no 'check' target.
910 #:phases (alist-delete 'configure %standard-phases)))
911 (home-page "http://acpica.org/")
35b9e423 912 (synopsis "Tools for the development and debug of ACPI tables")
13c8c2bf
MW
913 (description
914 "The ACPI Component Architecture (ACPICA) project provides an
915OS-independent reference implementation of the Advanced Configuration and
916Power Interface Specification (ACPI). ACPICA code contains those portions of
917ACPI meant to be directly integrated into the host OS as a kernel-resident
918subsystem, and a small set of tools to assist in developing and debugging ACPI
919tables. This package contains only the user-space tools needed for ACPI table
920development, not the kernel implementation of ACPI.")
f61e0e79 921 (license license:gpl2))) ; Dual GPLv2/ACPICA Licence
4cf7bd2b
MW
922
923(define-public stress
924 (package
925 (name "stress")
926 (version "1.0.1")
927 (source (origin
928 (method url-fetch)
929 (uri (string-append "mirror://debian/pool/main/s/stress/stress_"
930 version ".orig.tar.gz"))
931 (sha256
932 (base32
933 "1v9vnzlihqfjsxa93hdbrq72pqqk00dkylmlg8jpxhm7s1w9qfl1"))))
934 (build-system gnu-build-system)
935 (home-page "http://packages.debian.org/wheezy/stress")
9e771e3b 936 (synopsis "Impose load on and stress test a computer system")
4cf7bd2b 937 (description
35b9e423 938 "Stress is a tool that imposes a configurable amount of CPU, memory, I/O,
4cf7bd2b
MW
939or disk stress on a POSIX-compliant operating system and reports any errors it
940detects.
941
35b9e423 942Stress is not a benchmark. It is a tool used by system administrators to
4cf7bd2b
MW
943evaluate how well their systems will scale, by kernel programmers to evaluate
944perceived performance characteristics, and by systems programmers to expose
945the classes of bugs which only or more frequently manifest themselves when the
946system is under heavy load.")
f61e0e79 947 (license license:gpl2+)))
b36fcf95
EB
948
949(define-public detox
950 (package
951 (name "detox")
952 (version "1.2.0")
953 (source (origin
954 (method url-fetch)
955 (uri (string-append "mirror://sourceforge/detox/detox-"
956 version ".tar.bz2"))
957 (sha256
958 (base32
959 "1y6vvjqsg54kl49cry73jbfhr04s7wjs779vrr9zrq6kww7dkymb"))))
960 (build-system gnu-build-system)
961 ;; Both flex and popt are used in this case for their runtime libraries
962 ;; (libfl and libpopt).
963 (inputs
964 `(("flex" ,flex)
965 ("popt" ,popt)))
966 (arguments
967 `(#:configure-flags `(,(string-append "--with-popt="
968 (assoc-ref %build-inputs "popt")))
969 #:tests? #f)) ;no 'check' target
970 (home-page "http://detox.sourceforge.net")
e881752c 971 (synopsis "Clean up file names")
b36fcf95
EB
972 (description
973 "Detox is a program that renames files to make them easier to work with
974under Unix and related operating systems. Spaces and various other unsafe
975characters (such as \"$\") get replaced with \"_\". ISO 8859-1 (Latin-1)
976characters can be replaced as well, as can UTF-8 characters.")
f61e0e79 977 (license license:bsd-3)))
c4492a16
LC
978
979(define-public testdisk
980 (package
981 (name "testdisk")
982 (version "6.14")
983 (source (origin
984 (method url-fetch)
985 (uri (string-append "http://www.cgsecurity.org/testdisk-"
986 version ".tar.bz2"))
987 (sha256
988 (base32
989 "0v1jap83f5h99zv01v3qmqm160d36n4ysi0gyq7xzb3mqgmw75x5"))))
990 (build-system gnu-build-system)
991 (inputs
992 `(;; ("ntfs" ,ntfs)
993 ("util-linux" ,util-linux)
cc2b77df 994 ("openssl" ,openssl)
f61e0e79 995 ("zlib" ,zlib)
c4492a16
LC
996 ("e2fsprogs" ,e2fsprogs)
997 ("libjpeg" ,libjpeg)
998 ("ncurses" ,ncurses)))
999 (home-page "http://www.cgsecurity.org/wiki/TestDisk")
1000 (synopsis "Data recovery tool")
1001 (description
1002 "TestDisk is a program for data recovery, primarily designed to help
1003recover lost partitions and/or make non-booting disks bootable again.")
f61e0e79 1004 (license license:gpl2+)))
c4492a16 1005
15926aec
AS
1006(define-public tree
1007 (package
1008 (name "tree")
1009 (version "1.7.0")
1010 (source (origin
1011 (method url-fetch)
1012 (uri (string-append
1013 "http://mama.indstate.edu/users/ice/tree/src/tree-"
1014 version ".tgz"))
1015 (sha256
1016 (base32 "04kviw799qxly08zb8n5mgxfd96gyis6x69q2qiw86jnh87c4mv9"))))
1017 (build-system gnu-build-system)
1018 (arguments
1019 '(#:phases (alist-delete 'configure %standard-phases)
1020 #:tests? #f ; no check target
1021 #:make-flags (let ((out (assoc-ref %outputs "out")))
1022 (list (string-append "prefix=" out)))))
1023 (synopsis "Recursively list the contents of a directory")
1024 (description
1025 "Tree is a recursive directory listing command that produces a depth
1026indented listing of files, which is colorized ala dircolors if the LS_COLORS
1027environment variable is set and output is to tty.")
1028 (home-page "http://mama.indstate.edu/users/ice/tree/")
1029 (license license:gpl2+)))
1030
c2619e10
LC
1031(define-public direvent
1032 (package
1033 (name "direvent")
1034 (version "5.0")
1035 (source (origin
1036 (method url-fetch)
1037 (uri (string-append "mirror://gnu/direvent/direvent-"
1038 version ".tar.gz"))
1039 (sha256
1040 (base32
1041 "1i14131y6m8wvirz6piw4zxz2q1kbpl0lniv5kl55rx4k372dg8z"))
1042 (modules '((guix build utils)))
1043 (snippet '(substitute* "tests/testsuite"
1044 (("#![[:blank:]]?/bin/sh")
1045 "#!$SHELL")))))
1046 (build-system gnu-build-system)
1047 (arguments
1048 '(#:phases (alist-cons-before
1049 'build 'patch-/bin/sh
1050 (lambda* (#:key inputs #:allow-other-keys)
1051 ;; Use the right shell when executing the watcher.
1052 (let ((bash (assoc-ref inputs "bash")))
1053 (substitute* "src/direvent.c"
1054 (("\"/bin/sh\"")
1055 (string-append "\"" bash "/bin/sh\"")))))
1056 %standard-phases)))
1057 (home-page "http://www.gnu.org/software/direvent/")
1058 (synopsis "Daemon to monitor directories for events such as file removal")
1059 (description
1060 "A daemon that monitors directories for events, such as creating,
35b9e423 1061deleting or modifying files. It can monitor different sets of directories for
c2619e10
LC
1062different events. When an event is detected, direvent calls a specified
1063external program with information about the event, such as the location
c5779c93
LC
1064within the file system where it occurred. Thus, \"direvent\" provides an
1065easy way to react immediately if given files undergo changes, for example, to
c2619e10 1066track changes in important system configuration files.")
f61e0e79 1067 (license license:gpl3+)))
da6c3749
TUBK
1068
1069(define-public libcap-ng
1070 (package
1071 (name "libcap-ng")
1072 (version "0.7.4")
1073 (source (origin
1074 (method url-fetch)
1075 (uri (string-append
1076 "http://people.redhat.com/sgrubb/libcap-ng/libcap-ng-"
1077 version ".tar.gz"))
1078 (sha256
1079 (base32
1080 "0ssvnh4cvhya0c1j6k6192zvqcq7nc0x01fb5nwhr0prfqr0i8j8"))))
1081 (build-system gnu-build-system)
1082 (inputs `(("python" ,python)))
1083 (home-page "http://people.redhat.com/sgrubb/libcap-ng/")
1084 (synopsis "Library for more easily working with POSIX capabilities")
1085 (description
1086 "The libcap-ng library is intended to make programming with POSIX
1087capabilities easier than the traditional libcap library. It includes
1088utilities that can analyse all currently running applications and print out
1089any capabilities and whether or not it has an open ended bounding set. The
1090included utilities are designed to let admins and developers spot apps from
1091various ways that may be running with too much privilege.")
1092 ;; The library is lgpl2.1+, but also ships some utils which are gpl2+.
f61e0e79 1093 (license (list license:lgpl2.1+ license:gpl2+))))
d02f2cc4
TUBK
1094
1095(define-public smartmontools
1096 (package
1097 (name "smartmontools")
1098 (version "6.3")
1099 (source (origin
1100 (method url-fetch)
1101 (uri (string-append
1102 "mirror://sourceforge/smartmontools/smartmontools/"
1103 version "/smartmontools-" version ".tar.gz"))
1104 (sha256
1105 (base32
1106 "06gy71jh2d3gcfmlbbrsqw7215knkfq59q3j6qdxfrar39fhcxx7"))))
1107 (build-system gnu-build-system)
1108 (inputs `(("libcap-ng" ,libcap-ng)))
1109 (home-page "http://www.smartmontools.org/")
1110 (synopsis "S.M.A.R.T. harddisk control and monitoring tools")
1111 (description
1112 "The smartmontools package contains utility programs to control and
1113monitor storage systems using the Self-Monitoring, Analysis and Reporting
1114Technology System (S.M.A.R.T.) built into most modern ATA and SCSI harddisks.
1115In many cases, these utilities will provide advanced warning of disk
1116degradation and failure.")
f61e0e79 1117 (license license:gpl2+)))
6efd0823
RW
1118
1119(define-public fdupes
1120 (package
1121 (name "fdupes")
1122 (version "1.51")
1123 (source
1124 (origin
1125 (method url-fetch)
1126 (uri (string-append
1127 "https://github.com/adrianlopezroche/fdupes/archive/fdupes-"
1128 version ".tar.gz"))
1129 (sha256
1130 (base32
1131 "11j96vxl9vg3jsnxqxskrv3gad6dh7hz2zpyc8n31xzyxka1c7kn"))))
1132 (build-system gnu-build-system)
1133 (arguments
1134 '(#:phases (alist-delete 'configure %standard-phases)
1135 #:tests? #f ; no 'check' target
1136 #:make-flags (list (string-append "PREFIX="
1137 (assoc-ref %outputs "out")))))
1138 (home-page "https://github.com/adrianlopezroche/fdupes")
1139 (synopsis "Identify duplicate files")
1140 (description
1141 "fdupes is a program for identifying duplicate files residing within
1142specified directories.")
1143 (license license:expat)))
4ecfbda7
DT
1144
1145(define-public graphios
1146 (package
1147 (name "graphios")
1148 (version "2.0.3")
1149 (source
1150 (origin
1151 (method url-fetch)
1152 (uri (string-append
1153 "https://pypi.python.org/packages/source/g/graphios/graphios-"
1154 version ".tar.gz"))
1155 (sha256
1156 (base32
1157 "1h87hvc315wg6lklbf4l7csd3n5pgljwrfli1p3nasdi0izgn66i"))))
1158 (build-system python-build-system)
1159 (arguments
1160 ;; Be warned: Building with Python 3 succeeds, but the build process
1161 ;; throws a syntax error that is ignored.
1162 `(#:python ,python-2
1163 #:phases
1164 (modify-phases %standard-phases
1165 (add-before 'build 'fix-setup.py
1166 (lambda* (#:key outputs #:allow-other-keys)
1167 ;; Fix hardcoded, unprefixed file names.
1168 (let ((out (assoc-ref outputs "out")))
1169 (substitute* '("setup.py")
1170 (("/etc") (string-append out "/etc"))
1171 (("/usr") out)
1172 (("distro_ver = .*") "distro_ver = ''"))
1173 #t))))))
1174 (inputs
1175 `(("python-setuptools" ,python2-setuptools)))
1176 (home-page "https://github.com/shawn-sterling/graphios")
1177 (synopsis "Emit Nagios metrics to Graphite, Statsd, and Librato")
1178 (description
1179 "Graphios is a script to emit nagios perfdata to various upstream metrics
1180processing and time-series systems. It's currently compatible with Graphite,
1181Statsd, Librato and InfluxDB. Graphios can emit Nagios metrics to any number
1182of supported upstream metrics systems simultaneously.")
1183 (license license:gpl2+)))
8d801045
ED
1184
1185(define-public ansible
1186 (package
1187 (name "ansible")
1188 (version "1.9.2")
1189 (source
1190 (origin
1191 (method url-fetch)
1192 (uri (string-append
1193 "https://pypi.python.org/packages/source/a/ansible/ansible-"
1194 version
1195 ".tar.gz"))
1196 (sha256
1197 (base32
1198 "007fzgsqaahb0y4gjdxxmir9kcni7wph2z14jhqgpz88idrz8pn2"))))
1199 (build-system python-build-system)
1200 (native-inputs
1201 `(("python2-setuptools" ,python2-setuptools)
1202 ("python2-pycrypto" ,python2-pycrypto)
1203 ("python2-httplib2" ,python2-httplib2)
1204 ("python2-passlib" ,python2-passlib)
1205 ("python2-nose" ,python2-nose)
1206 ("python2-mock" ,python2-mock)
1207 ("python2-jinja2" ,python2-jinja2)
1208 ("python2-pyyaml" ,python2-pyyaml)
1209 ("python2-paramiko" ,python2-paramiko)))
1210 (inputs
1211 `(("python2-pycrypto" ,python2-pycrypto)
1212 ("python2-jinja2" ,python2-jinja2)
1213 ("python2-pyyaml" ,python2-pyyaml)
1214 ("python2-paramiko" ,python2-paramiko)))
1215 (arguments
1216 `(#:python ,python-2)) ; incompatible with Python 3
1217 (home-page "http://ansible.com/")
1218 (synopsis "Radically simple IT automation")
1219 (description "Ansible is a radically simple IT automation system. It
1220handles configuration-management, application deployment, cloud provisioning,
1221ad-hoc task-execution, and multinode orchestration - including trivializing
1222things like zero downtime rolling updates with load balancers.")
1223 (license license:gpl3+)))