gnu: dfc: Update to 3.0.4.
[jackhill/guix/guix.git] / gnu / packages / admin.scm
CommitLineData
233e7676 1;;; GNU Guix --- Functional package management for GNU
c73d4c92 2;;; Copyright © 2012, 2013, 2014 Ludovic Courtès <ludo@gnu.org>
340c7033 3;;; Copyright © 2013 Cyril Roelandt <tipecaml@gmail.com>
0e4e89c2 4;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
87216303 5;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org>
1df895b0 6;;;
233e7676 7;;; This file is part of GNU Guix.
1df895b0 8;;;
233e7676 9;;; GNU Guix is free software; you can redistribute it and/or modify it
1df895b0
LC
10;;; under the terms of the GNU General Public License as published by
11;;; the Free Software Foundation; either version 3 of the License, or (at
12;;; your option) any later version.
13;;;
233e7676 14;;; GNU Guix is distributed in the hope that it will be useful, but
1df895b0
LC
15;;; WITHOUT ANY WARRANTY; without even the implied warranty of
16;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17;;; GNU General Public License for more details.
18;;;
19;;; You should have received a copy of the GNU General Public License
233e7676 20;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
1df895b0 21
4aeea896 22(define-module (gnu packages admin)
4a44e743 23 #:use-module (guix licenses)
1df895b0
LC
24 #:use-module (guix packages)
25 #:use-module (guix download)
aaff68ee 26 #:use-module (guix git-download)
fbc1a58f 27 #:use-module (guix build-system cmake)
1df895b0 28 #:use-module (guix build-system gnu)
c773aba8 29 #:use-module (guix build-system trivial)
59a43334 30 #:use-module (gnu packages)
c73d4c92 31 #:use-module (gnu packages base)
9a9e72d5 32 #:use-module (gnu packages ncurses)
9927622f 33 #:use-module (gnu packages readline)
f15164e7
LC
34 #:use-module (gnu packages linux)
35 #:use-module (gnu packages guile)
1dba6407 36 #:use-module (gnu packages gettext)
c73d4c92 37 #:use-module (gnu packages perl)
87216303 38 #:use-module (gnu packages tcl)
c773aba8
LC
39 #:use-module ((gnu packages base)
40 #:select (tar))
41 #:use-module ((gnu packages compression)
42 #:select (gzip))
10db1e6c
LC
43 #:use-module ((gnu packages openssl)
44 #:renamer (symbol-prefix-proc 'o:))
02c86a5e
LC
45 #:use-module (gnu packages bison)
46 #:use-module (gnu packages flex)
47 #:use-module (gnu packages glib)
87216303 48 #:use-module (gnu packages pkg-config)
fccf2fe0 49 #:use-module (gnu packages texinfo)
e1485c7b 50 #:use-module (gnu packages groff)
87216303 51 #:use-module (gnu packages xorg))
f15164e7
LC
52
53(define-public dmd
54 (package
55 (name "dmd")
b3342b54 56 (version "0.2")
f15164e7
LC
57 (source (origin
58 (method url-fetch)
d0821398
LC
59 (uri (string-append "ftp://alpha.gnu.org/gnu/dmd/dmd-"
60 version ".tar.gz"))
f15164e7
LC
61 (sha256
62 (base32
b3342b54 63 "10fl4k96f17gqx2fv8iw9c61ld26gsk4bbrlfqckdmiimz1k175z"))))
f15164e7
LC
64 (build-system gnu-build-system)
65 (arguments
66 '(#:configure-flags '("--localstatedir=/var")))
2941448e
LC
67 (native-inputs `(("pkg-config" ,pkg-config)))
68 (inputs `(("guile" ,guile-2.0)))
f15164e7 69 (synopsis "Daemon managing daemons")
a22dc0c4 70 (description
79c311b8
LC
71 "GNU DMD is a daemon-managing daemon, meaning that it manages the
72execution of system services, replacing similar functionality found in
73typical init systems. It provides dependency-handling through a convenient
74interface and is based on GNU Guile.")
f15164e7
LC
75 (license gpl3+)
76 (home-page "http://www.gnu.org/software/dmd/")))
1df895b0 77
fbc1a58f
CR
78(define-public dfc
79 (package
80 (name "dfc")
180d7ac1 81 (version "3.0.4")
fbc1a58f
CR
82 (source
83 (origin
84 (method url-fetch)
85 (uri (string-append
180d7ac1 86 "http://projects.gw-computing.net/attachments/download/79/dfc-"
fbc1a58f
CR
87 version ".tar.gz"))
88 (sha256
89 (base32
180d7ac1 90 "0zk1ppx93ijimf4sbgqilxxikpsa2gmpbynknyh41xy7jbdjxp0b"))))
fbc1a58f
CR
91 (build-system cmake-build-system)
92 (arguments '(#:tests? #f)) ; There are no tests.
1dba6407 93 (native-inputs `(("gettext" ,gnu-gettext)))
fbc1a58f
CR
94 (home-page "http://projects.gw-computing.net/projects/dfc")
95 (synopsis "Display file system space usage using graphs and colors")
96 (description
97 "dfc (df color) is a modern version of df. It uses colors, draws pretty
98graphs and can export its output to different formats.")
99 (license bsd-3)))
100
340c7033
CR
101(define-public htop
102 (package
103 (name "htop")
104 (version "1.0.2")
105 (source (origin
106 (method url-fetch)
107 (uri (string-append "mirror://sourceforge/htop/"
108 version "/htop-" version ".tar.gz"))
109 (sha256
110 (base32
111 "18fqrhvnm7h4c3939av8lpiwrwxbyw6hcly0jvq0vkjf0ixnaq7f"))))
112 (build-system gnu-build-system)
113 (inputs
114 `(("ncurses" ,ncurses)))
115 (home-page "http://htop.sourceforge.net/")
116 (synopsis "Interactive process viewer")
117 (description
118 "This is htop, an interactive process viewer. It is a text-mode
119application (for console or X terminals) and requires ncurses.")
120 (license gpl2)))
121
1df895b0
LC
122(define-public pies
123 (package
124 (name "pies")
125 (version "1.2")
126 (source
127 (origin
128 (method url-fetch)
129 (uri (string-append "mirror://gnu/pies/pies-"
130 version ".tar.bz2"))
131 (sha256
132 (base32
133 "18w0dbg77i56cx1bwa789w0qi3l4xkkbascxcv2b6gbm0zmjg1g6"))))
134 (build-system gnu-build-system)
135 (home-page "http://www.gnu.org/software/pies/")
f50d2669 136 (synopsis "Program invocation and execution supervisor")
1df895b0 137 (description
79c311b8 138 "GNU pies is a program that supervises the invocation and execution of
a22dc0c4
LC
139other programs. It reads the list of programs to be started from its
140configuration file, executes them, and then monitors their status,
141re-executing them as necessary.")
4a44e743 142 (license gpl3+)))
1df895b0
LC
143
144(define-public inetutils
145 (package
146 (name "inetutils")
9927622f 147 (version "1.9.2")
01eafd38
LC
148 (source (origin
149 (method url-fetch)
150 (uri (string-append "mirror://gnu/inetutils/inetutils-"
151 version ".tar.gz"))
152 (sha256
153 (base32
9927622f 154 "04wrm0v7l4890mmbaawd6wjwdv08bkglgqhpz0q4dkb0l50fl8q4"))))
1df895b0 155 (build-system gnu-build-system)
01eafd38 156 (arguments `(;; FIXME: `tftp.sh' relies on `netstat' from utils-linux,
1df895b0
LC
157 ;; which is currently missing.
158 #:tests? #f))
9927622f
LC
159 (inputs `(("ncurses" ,ncurses)
160 ("readline" ,readline))) ; for 'ftp'
1df895b0 161 (home-page "http://www.gnu.org/software/inetutils/")
f50d2669 162 (synopsis "Basic networking utilities")
1df895b0 163 (description
a22dc0c4
LC
164 "Inetutils is a collection of common network programs, such as an ftp
165client and server, a telnet client and server, and an rsh client and server.")
4a44e743 166 (license gpl3+)))
9a9e72d5
LC
167
168(define-public shadow
169 (package
170 (name "shadow")
171 (version "4.1.5.1")
172 (source (origin
aaff68ee
LC
173 ;; Shadow has no real upstream, and not even tarballs.
174 ;; See <https://lists.gnu.org/archive/html/guix-devel/2014-03/msg00233.html>.
175 (method git-fetch)
176 (uri (git-reference
177 (url "git://git.debian.org/git/pkg-shadow/shadow")
178 (commit (string-append "upstream/" version))))
9a9e72d5
LC
179 (sha256
180 (base32
aaff68ee 181 "1xx85d83kmacmjzqbamgydcjkwsqd5fi1s2wgwx6myq5wa39qx0n"))))
9a9e72d5
LC
182 (build-system gnu-build-system)
183 (arguments
184 '(;; Assume System V `setpgrp (void)', which is the default on GNU
185 ;; variants (`AC_FUNC_SETPGRP' is not cross-compilation capable.)
186 #:configure-flags '("--with-libpam" "ac_cv_func_setpgrp_void=yes")
187
188 #:phases (alist-cons-before
189 'build 'set-nscd-file-name
190 (lambda* (#:key inputs #:allow-other-keys)
191 ;; Use the right file name for nscd.
192 (let ((libc (assoc-ref inputs "libc")))
193 (substitute* "lib/nscd.c"
194 (("/usr/sbin/nscd")
195 (string-append libc "/sbin/nscd")))))
196 (alist-cons-after
197 'install 'remove-groups
198 (lambda* (#:key outputs #:allow-other-keys)
199 ;; Remove `groups', which is already provided by Coreutils.
200 (let* ((out (assoc-ref outputs "out"))
201 (bin (string-append out "/bin"))
202 (man (string-append out "/share/man/man1")))
203 (delete-file (string-append bin "/groups"))
204 (for-each delete-file (find-files man "^groups\\."))
205 #t))
8d846470 206 %standard-phases))))
9a9e72d5
LC
207
208 (inputs (if (string-suffix? "-linux"
209 (or (%current-target-system)
210 (%current-system)))
211 `(("linux-pam" ,linux-pam))
212 '()))
213 (home-page "http://pkg-shadow.alioth.debian.org/")
214 (synopsis "Authentication-related tools such as passwd, su, and login")
215 (description
216 "Shadow provides a number of authentication-related tools, including:
217login, passwd, su, groupadd, and useradd.")
218
219 ;; The `vipw' program is GPLv2+.
220 ;; libmisc/salt.c is public domain.
221 (license bsd-3)))
1e151896
LC
222
223(define-public mingetty
224 (package
225 (name "mingetty")
226 (version "1.08")
227 (source (origin
228 (method url-fetch)
229 (uri (string-append "mirror://sourceforge/mingetty/mingetty-"
230 version ".tar.gz"))
231 (sha256
232 (base32
233 "05yxrp44ky2kg6qknk1ih0kvwkgbn9fbz77r3vci7agslh5wjm8g"))))
234 (build-system gnu-build-system)
235 (arguments
236 `(#:phases (alist-replace 'configure
237 (lambda* (#:key inputs outputs
238 #:allow-other-keys)
239 (let* ((out (assoc-ref outputs "out"))
240 (man8 (string-append
241 out "/share/man/man8"))
242 (sbin (string-append out "/sbin"))
243 (shadow (assoc-ref inputs "shadow"))
244 (login (string-append shadow
245 "/bin/login")))
246 (substitute* "Makefile"
247 (("^SBINDIR.*")
248 (string-append "SBINDIR = " out
249 "/sbin\n"))
250 (("^MANDIR.*")
251 (string-append "MANDIR = " out
252 "/share/man/man8\n")))
253
254 ;; Pick the right 'login' by default.
255 (substitute* "mingetty.c"
256 (("\"/bin/login\"")
257 (string-append "\"" login "\"")))
258
259 (mkdir-p sbin)
260 (mkdir-p man8)))
261 %standard-phases)
262 #:tests? #f)) ; no tests
263 (inputs `(("shadow" ,shadow)))
264
265 (home-page "http://sourceforge.net/projects/mingetty")
266 (synopsis "Getty for the text console")
267 (description
268 "Small console getty that is started on the Linux text console,
269asks for a login name and then transfers over to 'login'. It is extended to
270allow automatic login and starting any app.")
271 (license gpl2+)))
c773aba8
LC
272
273(define-public net-base
274 (package
275 (name "net-base")
34af3684 276 (version "5.2")
c773aba8
LC
277 (source (origin
278 (method url-fetch)
279 (uri (string-append
34af3684 280 "mirror://debian/pool/main/n/netbase/netbase_"
c773aba8
LC
281 version ".tar.gz"))
282 (sha256
283 (base32
34af3684 284 "01rkvqrg7krkx8b432nz6bpi8w3s4cm5q5r891k23cdrc9nsaayn"))))
c773aba8
LC
285 (build-system trivial-build-system)
286 (arguments
287 `(#:modules ((guix build utils))
288 #:builder (begin
289 (use-modules (guix build utils)
290 (srfi srfi-26))
291
292 (let* ((source (assoc-ref %build-inputs "source"))
293 (tar (assoc-ref %build-inputs "tar"))
294 (gzip (assoc-ref %build-inputs "gzip"))
295 (output (assoc-ref %outputs "out"))
296 (etc (string-append output "/etc")))
297 (setenv "PATH" (string-append gzip "/bin"))
298 (system* (string-append tar "/bin/tar") "xvf"
299 source)
300 (chdir ,(string-append "netbase-" version))
301 (mkdir-p etc)
302 (for-each copy-file
303 '("etc-services" "etc-protocols" "etc-rpc")
304 (map (cut string-append etc "/" <>)
305 '("services" "protocols" "rpc")))
306 #t))))
307 (native-inputs `(("tar" ,tar)
308 ("gzip" ,gzip)))
309 (synopsis "IANA protocol, port, and RPC number assignments")
310 (description
311 "This package provides the /etc/services, /etc/protocols, and /etc/rpc
312files, which contain information about the IANA-assigned port, protocol, and
313ONC RPC numbers")
314 (home-page "http://packages.debian.org/sid/netbase")
315 (license gpl2)))
94c4a58a
LC
316
317(define-public netcat
318 (package
319 (name "netcat")
320 (version "0.7.1")
321 (source (origin
322 (method url-fetch)
323 (uri (string-append "mirror://sourceforge/netcat/netcat-"
324 version ".tar.bz2"))
325 (sha256
326 (base32
327 "1frjcdkhkpzk0f84hx6hmw5l0ynpmji8vcbaxg8h5k2svyxz0nmm"))))
328 (build-system gnu-build-system)
0e4e89c2
MW
329 (arguments
330 `(#:configure-flags
331 ;; By default, man and info pages are put in PREFIX/{man,info},
332 ;; but we want them in PREFIX/share/{man,info}.
333 (let ((out (assoc-ref %outputs "out")))
334 (list (string-append "--mandir=" out "/share/man")
335 (string-append "--infodir=" out "/share/info")))))
94c4a58a
LC
336 (home-page "http://netcat.sourceforge.net")
337 (synopsis "Read and write data over TCP/IP")
338 (description
339 "Netcat is a featured networking utility which reads and writes data
340across network connections, using the TCP/IP protocol. It is designed to be a
341reliable \"back-end\" tool that can be used directly or easily driven by other
342programs and scripts. At the same time, it is a feature-rich network debugging
343and exploration tool, since it can create almost any kind of connection you
344would need and has several interesting built-in capabilities.")
345 (license gpl2+)))
d038cac1
LC
346
347(define-public alive
348 (package
349 (name "alive")
350 (version "2.0.2")
351 (source (origin
352 (method url-fetch)
353 (uri (string-append "mirror://gnu/alive/alive-"
354 version ".tar.xz"))
355 (sha256
356 (base32
357 "1vrzg51ai68x9yld7vbgl58sxaw5qpx8rbakwcxn4cqq6vpxj38j"))))
358 (build-system gnu-build-system)
359 (arguments '(#:configure-flags '("alive_cv_nice_ping=yes")))
360 (inputs `(("guile" ,guile-2.0)
361 ("inetutils" ,inetutils)))
362 (home-page "http://www.gnu.org/software/alive/")
363 (synopsis "Autologin and keep-alive daemon")
364 (description
365 "GNU Alive sends periodic pings to a server, generally to keep a
366connection alive.")
367 (license gpl3+)))
c73d4c92
LC
368
369(define-public isc-dhcp
370 (package
371 (name "isc-dhcp")
9e5ace9d 372 (version "4.3.0")
c73d4c92
LC
373 (source (origin
374 (method url-fetch)
375 (uri (string-append "http://ftp.isc.org/isc/dhcp/"
376 version "/dhcp-" version ".tar.gz"))
377 (sha256
378 (base32
9e5ace9d 379 "12mydvj6x3zcl3gla06bywfkkrgg03g66fijs94mwb7kbiym3dm7"))))
c73d4c92
LC
380 (build-system gnu-build-system)
381 (arguments
382 '(#:phases (alist-cons-after
383 'configure 'post-configure
384 (lambda* (#:key outputs #:allow-other-keys)
385 ;; Point to the right client script, which will be
386 ;; installed in a later phase.
387 (substitute* "includes/dhcpd.h"
388 (("#define[[:blank:]]+_PATH_DHCLIENT_SCRIPT.*")
389 (let ((out (assoc-ref outputs "out")))
390 (string-append "#define _PATH_DHCLIENT_SCRIPT \""
391 out "/libexec/dhclient-script"
392 "\"\n"))))
393
394 ;; During the 'build' phase, 'bind.tar.gz' is extracted, so
395 ;; we must patch shebangs in there and make sure the right
396 ;; shell is used.
397 (with-directory-excursion "bind"
398 (substitute* "Makefile"
399 (("\\./configure")
400 (let ((sh (which "sh")))
401 (string-append "./configure CONFIG_SHELL="
402 sh " SHELL=" sh))))
403
404 (system* "tar" "xf" "bind.tar.gz")
405 (for-each patch-shebang
9e5ace9d 406 (find-files "bind-9.9.5" ".*"))
c73d4c92 407 (zero? (system* "tar" "cf" "bind.tar.gz"
9e5ace9d 408 "bind-9.9.5"))))
c73d4c92
LC
409 (alist-cons-after
410 'install 'post-install
411 (lambda* (#:key inputs outputs #:allow-other-keys)
412 ;; Install the dhclient script for GNU/Linux and make sure
413 ;; if finds all the programs it needs.
414 (let* ((out (assoc-ref outputs "out"))
415 (libexec (string-append out "/libexec"))
416 (coreutils (assoc-ref inputs "coreutils"))
417 (net-tools (assoc-ref inputs "net-tools"))
418 (sed (assoc-ref inputs "sed")))
419 (substitute* "client/scripts/linux"
420 (("/sbin/ip")
421 (string-append (assoc-ref inputs "iproute")
422 "/sbin/ip")))
423
424 (mkdir-p libexec)
425 (copy-file "client/scripts/linux"
426 (string-append libexec "/dhclient-script"))
427
428 (wrap-program (string-append libexec "/dhclient-script")
429 `("PATH" ":" prefix
430 ,(map (lambda (dir)
431 (string-append dir "/bin:"
432 dir "/sbin"))
433 (list net-tools coreutils sed))))))
434 %standard-phases))))
435
436 (native-inputs `(("perl" ,perl)))
437
dc343935
LC
438 (inputs `(("net-tools" ,net-tools)
439 ("iproute" ,iproute)
440
441 ;; When cross-compiling, we need the cross Coreutils and sed.
442 ;; Otherwise just use those from %FINAL-INPUTS.
443 ,@(if (%current-target-system)
444 `(("coreutils" ,coreutils)
445 ("sed" ,sed))
446 '())))
c73d4c92
LC
447
448 (home-page "http://www.isc.org/products/DHCP/")
449 (synopsis "Dynamic Host Configuration Protocol (DHCP) tools")
450 (description
451 "ISC's Dynamic Host Configuration Protocol (DHCP) distribution provides a
452reference implementation of all aspects of DHCP, through a suite of DHCP
453tools: server, client, and relay agent.")
463d6dac 454 (license isc)))
02c86a5e
LC
455
456(define-public libpcap
457 (package
458 (name "libpcap")
459 (version "1.5.3")
460 (source (origin
461 (method url-fetch)
462 (uri (string-append "http://www.tcpdump.org/release/libpcap-"
463 version ".tar.gz"))
464 (sha256
465 (base32
466 "14wyjywrdi1ikaj6yc9c72m6m2r64z94lb0gm7k1a3q6q5cj3scs"))))
467 (build-system gnu-build-system)
468 (native-inputs `(("bison" ,bison) ("flex" ,flex)))
469 (arguments '(#:tests? #f)) ; no 'check' target
470 (home-page "http://www.tcpdump.org")
471 (synopsis "Network packet capture library")
472 (description
473 "libpcap is an interface for user-level packet capture. It provides a
474portable framework for low-level network monitoring. Applications include
475network statistics collection, security monitoring, network debugging, etc.")
476
477 ;; fad-*.c and a couple other files are BSD-4, but the rest is BSD-3.
478 (license bsd-3)))
479
1da34f5a
LC
480(define-public tcpdump
481 (package
482 (name "tcpdump")
483 (version "4.5.1")
484 (source (origin
485 (method url-fetch)
486 (uri (string-append "http://www.tcpdump.org/release/tcpdump-"
487 version ".tar.gz"))
488 (sha256
489 (base32
490 "15hb7zkzd66nag102qbv100hcnf7frglbkylmr8adwr8f5jkkaql"))))
491 (build-system gnu-build-system)
10db1e6c
LC
492 (inputs `(("libpcap" ,libpcap)
493 ("openssl" ,o:openssl)))
1da34f5a 494 (native-inputs `(("perl" ,perl))) ; for tests
1da34f5a
LC
495 (home-page "http://www.tcpdump.org/")
496 (synopsis "Network packet analyzer")
497 (description
498 "Tcpdump is a command-line tool to analyze network traffic passing
499through the network interface controller.")
500 (license bsd-3)))
501
02c86a5e
LC
502(define-public jnettop
503 (package
504 (name "jnettop")
505 (version "0.13.0")
506 (source (origin
507 (method url-fetch)
508 (uri (string-append "http://jnettop.kubs.info/dist/jnettop-"
509 version ".tar.gz"))
510 (sha256
511 (base32
512 "1855np7c4b0bqzhf1l1dyzxb90fpnvrirdisajhci5am6als31z9"))))
513 (build-system gnu-build-system)
514 (native-inputs
515 `(("pkg-config" ,pkg-config)))
516 (inputs
517 `(("glib" ,glib)
518 ("ncurses" ,ncurses)
519 ("libpcap" ,libpcap)))
520 (home-page "http://jnettop.kubs.info/")
521 (synopsis "Visualize network traffic by bandwidth use")
522 (description
523 "Jnettop is a traffic visualiser, which captures traffic going
524through the host it is running from and displays streams sorted
525by bandwidth they use.")
526 (license gpl2+)))
87216303
EB
527
528(define-public clusterssh
529 (package
530 (name "clusterssh")
531 (version "3.28")
532 (source (origin
533 (method url-fetch)
534 (uri (string-append "mirror://sourceforge/clusterssh/"
535 "clusterssh-" version ".tar.gz"))
536 (sha256
537 (base32
538 "1bwggpvaj2al5blg1ynapviv2kpydffpzq2zkhi81najnvzc1rr7"))))
539 (build-system gnu-build-system)
540 (inputs `(("perl" ,perl)))
541 (propagated-inputs `(("xterm" ,xterm)
542 ("perl-tk" ,perl-tk)
543 ("perl-x11-protocol" ,perl-x11-protocol)))
544 (arguments
545 `(#:phases
546 (alist-cons-after
547 'install 'set-load-paths
548 (lambda* (#:key inputs outputs #:allow-other-keys)
549 ;; Put the perl-tk and perl-x11-protocol modules in the perl inc
550 ;; path for PROG
551 (let* ((out (assoc-ref outputs "out"))
552 (prog (string-append out "/bin/cssh"))
553 (perl-ver ,(package-version perl))
554 (x11-inc (string-append
555 (assoc-ref inputs "perl-x11-protocol")
556 "/lib/perl5/site_perl/" perl-ver))
557 (tk-inc (string-append
558 (assoc-ref inputs "perl-tk")
559 "/lib/perl5/site_perl/" perl-ver
560 "/x86_64-linux")))
561 (wrap-program
562 prog
563 `("PERL5LIB" ":" prefix (,x11-inc ,tk-inc)))))
564 %standard-phases)))
565 ;; The clusterssh.sourceforge.net address requires login to view
566 (home-page "http://sourceforge.net/projects/clusterssh/")
567 (synopsis "Secure concurrent multi-server terminal control")
568 (description
569 "ClusterSSH controls a number of xterm windows via a single graphical
570console window to allow commands to be interactively run on multiple servers
571over ssh connections.")
572 (license gpl2+)))
fccf2fe0
LC
573
574(define-public rottlog
575 (package
576 (name "rottlog")
577 (version "0.72.2")
578 (source (origin
579 (method url-fetch)
580 (uri (string-append "mirror://gnu/rottlog/rottlog-"
581 version ".tar.gz"))
582 (sha256
583 (base32
584 "0751mb9l2f0jrk3vj6q8ilanifd121dliwk0c34g8k0dlzsv3kd7"))
585 (modules '((guix build utils)))
586 (snippet
587 '(substitute* "Makefile.in"
588 (("-o \\$\\{LOG_OWN\\} -g \\$\\{LOG_GROUP\\}")
589 ;; Don't try to chown root.
590 "")
591 (("mkdir -p \\$\\(ROTT_STATDIR\\)")
592 ;; Don't attempt to create /var/lib/rottlog.
593 "true")))))
594 (build-system gnu-build-system)
595 (arguments
596 '(#:configure-flags (list (string-append "ROTT_ETCDIR="
597 (assoc-ref %outputs "out")
598 "/etc")
599 "--localstatedir=/var")
600 #:phases (alist-cons-after
601 'install 'install-info
602 (lambda _
603 (zero? (system* "make" "install-info")))
604 %standard-phases)))
605 (native-inputs `(("texinfo" ,texinfo)
606 ("util-linux" ,util-linux))) ; for 'cal'
607 (home-page "http://www.gnu.org/software/rottlog/")
608 (synopsis "Log rotation and management")
609 (description
610 "GNU Rot[t]log is a program for managing log files. It is used to
611automatically rotate out log files when they have reached a given size or
612according to a given schedule. It can also be used to automatically compress
613and archive such logs. Rot[t]log will mail reports of its activity to the
614system administrator.")
615 (license gpl3+)))
e1485c7b
LC
616
617(define-public sudo
618 (package
619 (name "sudo")
620 (version "1.8.10p2")
621 (source (origin
622 (method url-fetch)
623 (uri
624 (list (string-append "http://www.sudo.ws/sudo/dist/sudo-"
625 version ".tar.gz")
626 (string-append "ftp://ftp.sudo.ws/pub/sudo/OLD/sudo-"
627 version ".tar.gz")))
628 (sha256
629 (base32
630 "1wbrygz584abmywklq0b4xhqn3s1bjk3rrladslr5nycdpdvhv5s"))))
631 (build-system gnu-build-system)
632 (arguments
633 '(#:configure-flags '("--with-logpath=/var/log/sudo.log")
634 #:phases (alist-cons-before
635 'configure 'pre-configure
636 (lambda _
637 (substitute* "configure"
638 ;; Refer to the right executables.
639 (("/usr/bin/mv") (which "mv"))
640 (("/usr/bin/sh") (which "sh")))
641 (substitute* (find-files "." "Makefile\\.in")
642 (("-O [[:graph:]]+ -G [[:graph:]]+")
643 ;; Allow installation as non-root.
644 "")
645 (("^install: (.*)install-sudoers(.*)" _ before after)
646 ;; Don't try to create /etc/sudoers.
647 (string-append "install: " before after "\n"))))
648 %standard-phases)
649
650 ;; XXX: The 'testsudoers' test series expects user 'root' to exist, but
651 ;; the chroot's /etc/passwd doesn't have it. Turn off the tests.
652 #:tests? #f))
653 (inputs
654 `(("groff" ,groff)
655 ("linux-pam" ,linux-pam)
656 ("coreutils" ,coreutils)))
657 (home-page "http://www.sudo.ws/")
658 (synopsis "Run commands as root")
659 (description
660 "Sudo (su \"do\") allows a system administrator to delegate authority to
661give certain users (or groups of users) the ability to run some (or all)
662commands as root or another user while providing an audit trail of the
663commands and their arguments.")
664
665 ;; See <http://www.sudo.ws/sudo/license.html>.
666 (license x11)))
952298d7
LC
667
668(define-public wpa-supplicant
669 (package
670 (name "wpa-supplicant")
671 (version "2.1")
672 (source (origin
673 (method url-fetch)
674 (uri (string-append
675 "http://hostap.epitest.fi/releases/wpa_supplicant-"
676 version
677 ".tar.gz"))
678 (sha256
679 (base32
680 "0xxjw7lslvql1ykfbwmbhdrnjsjljf59fbwf837418s97dz2wqwi"))))
681 (build-system gnu-build-system)
682 (arguments
683 '(#:phases (alist-replace
684 'configure
685 (lambda* (#:key outputs #:allow-other-keys)
686 (chdir "wpa_supplicant")
687 (copy-file "defconfig" ".config")
688 (let ((port (open-file ".config" "al")))
689 (display "
690 CONFIG_DEBUG_SYSLOG=y
691 CONFIG_CTRL_IFACE_DBUS=y
692 CONFIG_CTRL_IFACE_DBUS_NEW=y
693 CONFIG_CTRL_IFACE_DBUS_INTRO=y
694 CONFIG_DRIVER_NL80211=y
695 CFLAGS += $(shell pkg-config libnl-3.0 --cflags)
696 CONFIG_LIBNL32=y
697 CONFIG_READLINE=y\n" port)
698 (close-port port)))
699 %standard-phases)
700
701 #:make-flags (list "CC=gcc"
702 (string-append "BINDIR=" (assoc-ref %outputs "out")
703 "/sbin")
704 (string-append "LIBDIR=" (assoc-ref %outputs "out")
705 "/lib"))
706 #:tests? #f))
707 (inputs
708 `(("readline" ,readline)
709 ("libnl" ,libnl)
710 ("dbus" ,dbus)
711 ("openssl" ,o:openssl)))
712 (native-inputs
713 `(("pkg-config" ,pkg-config)))
714 (home-page "http://hostap.epitest.fi/wpa_supplicant/")
715 (synopsis "Connecting to WPA and WPA2-protected wireless networks")
716 (description
717 "wpa_supplicant is a WPA Supplicant with support for WPA and WPA2 (IEEE
718802.11i / RSN). Supplicant is the IEEE 802.1X/WPA component that is used in
719the client stations. It implements key negotiation with a WPA Authenticator
720and it controls the roaming and IEEE 802.11 authentication/association of the
721WLAN driver.
722
723This package provides the 'wpa_supplicant' daemon and the 'wpa_cli' command.")
724
725 ;; In practice, this is linked against Readline, which makes it GPLv3+.
726 (license bsd-3)))
c6b76405
LC
727
728(define-public wakelan
729 (package
730 (name "wakelan")
731 (version "1.1")
732 (source (origin
733 (method url-fetch)
734 (uri (string-append
735 "ftp://ftp.gwdg.de/pub/linux/metalab/system/network/misc/wakelan-"
736 version ".tar.gz"))
737 (sha256
738 (base32
739 "0vydqpf44146ir6k87gmqaq6xy66xhc1gkr3nsd7jj3nhy7ypx9x"))))
740 (build-system gnu-build-system)
741 (arguments
742 '(#:phases (alist-replace
743 'configure
744 (lambda* (#:key outputs #:allow-other-keys)
745 (let ((out (assoc-ref outputs "out")))
746 (mkdir-p (string-append out "/bin"))
747 (mkdir-p (string-append out "/share/man/man1"))
748
749 ;; It's an old configure script that doesn't understand
750 ;; the extra options we pass.
751 (setenv "CONFIG_SHELL" (which "bash"))
752 (zero?
753 (system* "./configure"
754 (string-append "--prefix=" out)
755 (string-append "--mandir=" out
756 "/share/man")))))
757 %standard-phases)
758 #:tests? #f))
759 (home-page "http://kernel.org") ; really, no home page
760 (synopsis "Send a wake-on-LAN packet")
761 (description
762 "WakeLan broadcasts a properly formatted UDP packet across the local area
763network, which causes enabled computers to power on.")
764 (license gpl2+)))