guix build: Add '--timeout' to the common build options.

* guix/scripts/build.scm (show-build-options-help): Document
  '--timeout'.
  (set-build-options-from-command-line): Pass #:timeout to
  'set-build-options'.
  (%standard-build-options): Add '--timeout'.
* doc/guix.texi (Invoking guix build): Document it.
This commit is contained in:
Ludovic Courtès 2014-03-09 23:09:18 +01:00
parent 6c20d1d0c3
commit 002622b65b
2 changed files with 15 additions and 0 deletions

View file

@ -1903,6 +1903,13 @@ instead of offloading builds to remote machines.
When the build or substitution process remains silent for more than When the build or substitution process remains silent for more than
@var{seconds}, terminate it and report a build failure. @var{seconds}, terminate it and report a build failure.
@item --timeout=@var{seconds}
Likewise, when the build or substitution process lasts for more than
@var{seconds}, terminate it and report a build failure.
By default there is no timeout. This behavior can be restored with
@code{--timeout=0}.
@item --verbosity=@var{level} @item --verbosity=@var{level}
Use the given verbosity level. @var{level} must be an integer between 0 Use the given verbosity level. @var{level} must be an integer between 0
and 5; higher means more verbose output. Setting a level of 4 or more and 5; higher means more verbose output. Setting a level of 4 or more

View file

@ -126,6 +126,8 @@ (define (show-build-options-help)
(display (_ " (display (_ "
--max-silent-time=SECONDS --max-silent-time=SECONDS
mark the build as failed after SECONDS of silence")) mark the build as failed after SECONDS of silence"))
(display (_ "
--timeout=SECONDS mark the build as failed after SECONDS of activity"))
(display (_ " (display (_ "
--verbosity=LEVEL use the given verbosity LEVEL")) --verbosity=LEVEL use the given verbosity LEVEL"))
(display (_ " (display (_ "
@ -142,6 +144,7 @@ (define (set-build-options-from-command-line store opts)
#:use-substitutes? (assoc-ref opts 'substitutes?) #:use-substitutes? (assoc-ref opts 'substitutes?)
#:use-build-hook? (assoc-ref opts 'build-hook?) #:use-build-hook? (assoc-ref opts 'build-hook?)
#:max-silent-time (assoc-ref opts 'max-silent-time) #:max-silent-time (assoc-ref opts 'max-silent-time)
#:timeout (assoc-ref opts 'timeout)
#:verbosity (assoc-ref opts 'verbosity))) #:verbosity (assoc-ref opts 'verbosity)))
(define %standard-build-options (define %standard-build-options
@ -175,6 +178,11 @@ (define %standard-build-options
(alist-cons 'max-silent-time (string->number* arg) (alist-cons 'max-silent-time (string->number* arg)
result) result)
rest))) rest)))
(option '("timeout") #t #f
(lambda (opt name arg result . rest)
(apply values
(alist-cons 'timeout (string->number* arg) result)
rest)))
(option '("verbosity") #t #f (option '("verbosity") #t #f
(lambda (opt name arg result . rest) (lambda (opt name arg result . rest)
(let ((level (string->number arg))) (let ((level (string->number arg)))