~ruther/guix-local

7889394e059a2362d3227fb02256de4afd46129c — Ludovic Courtès 12 years ago 90f69c2
guix system: Add 'build' action.

* guix/scripts/system.scm (show-help): Document 'build' action.
  (guix-system): Honor 'build' action.
* doc/guix.texi (Invoking guix system): Add 'build' action.
2 files changed, 18 insertions(+), 6 deletions(-)

M doc/guix.texi
M guix/scripts/system.scm
M doc/guix.texi => doc/guix.texi +5 -0
@@ 3204,6 3204,11 @@ operating system is instantiate.  Currently the following values are
supported:

@table @code
@item build
Build the operating system's derivation, which includes all the
configuration files and programs needed to boot and run the system.
This action does not actually install anything.

@item vm
@cindex virtual machine
Build a virtual machine that contain the operating system declared in

M guix/scripts/system.scm => guix/scripts/system.scm +13 -6
@@ 24,6 24,7 @@
  #:use-module (guix utils)
  #:use-module (guix monads)
  #:use-module (guix scripts build)
  #:use-module (gnu system)
  #:use-module (gnu system vm)
  #:use-module (srfi srfi-1)
  #:use-module (srfi srfi-37)


@@ 71,9 72,15 @@
(define (show-help)
  (display (_ "Usage: guix system [OPTION] ACTION FILE
Build the operating system declared in FILE according to ACTION.\n"))
  (display (_ "Currently the only valid values for ACTION are 'vm', which builds
a virtual machine of the given operating system that shares the host's store,
and 'vm-image', which builds a virtual machine image that stands alone.\n"))
  (newline)
  (display (_ "The valid values for ACTION are:\n"))
  (display (_ "\
  - 'build', build the operating system without installing anything\n"))
  (display (_ "\
  - 'vm', build a virtual machine image that shares the host's store\n"))
  (display (_ "\
  - 'vm-image', build a freestanding virtual machine image.\n"))

  (show-build-options-help)
  (display (_ "
      --image-size=SIZE  for 'vm-image', produce an image of SIZE"))


@@ 131,9 138,7 @@ and 'vm-image', which builds a virtual machine image that stands alone.\n"))
                            (alist-cons 'argument arg result)))
                      (let ((action (string->symbol arg)))
                        (case action
                          ((vm)
                           (alist-cons 'action action result))
                          ((vm-image)
                          ((build vm vm-image)
                           (alist-cons 'action action result))
                          (else (leave (_ "~a: unknown action~%")
                                       action))))))


@@ 147,6 152,8 @@ and 'vm-image', which builds a virtual machine image that stands alone.\n"))
                       (read-operating-system file)
                       (leave (_ "no configuration file specified~%"))))
           (mdrv   (case action
                     ((build)
                      (operating-system-derivation os))
                     ((vm-image)
                      (let ((size (assoc-ref opts 'image-size)))
                        (system-qemu-image os