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