vm: Auto-detect if inputs should be registered.

The default value of the argument REGISTER-CLOSURE? of the ISO9660-IMAGE,
QEMU-IMAGE and SYSTEM-DOCKER-IMAGE procedures can be computed automatically,
since the operating-system definition is available in its context.  When the
operating-system definition does not contain the GUIX-SERVICE-TYPE, do not
register the closure in the database of Guix, as it takes time and doesn't
serve a purpose.

* gnu/system/vm.scm (has-guix-service-type): Add predicate.
(iso9660-image)[register-closures?]: Use it to compute the argument's default
value.
(qemu-image)[register-closures?]: Likewise, and update docstring.
(system-docker-image)[register-closures?]: Likewise.
(system-disk-image): Do not explicit a value for the REGISTER-CLOSURES?
argument of the ISO9660-IMAGE and QEMU-IMAGE procedure calls, so that its
default value is used instead.
* guix/scripts/system.scm (system-derivation-for-action): Do not explicit a
value for the REGISTER-CLOSURES? argument of the SYSTEM-DOCKER-IMAGE
procedure call, so that its default value is used instead.
This commit is contained in:
Maxim Cournoyer 2019-04-16 17:15:02 -04:00
parent 112fd34fee
commit d03de6be0a
No known key found for this signature in database
GPG key ID: 1260E46482E63562
2 changed files with 19 additions and 13 deletions

View file

@ -786,7 +786,7 @@ checking this by themselves in their 'check' procedure."
#:disk-image-size image-size
#:file-system-type file-system-type))
((docker-image)
(system-docker-image os #:register-closures? #t))))
(system-docker-image os))))
(define (maybe-suggest-running-guix-pull)
"Suggest running 'guix pull' if this has never been done before."