@@ -169,6 +169,7 @@ (define (assert-exit x)
(database-dir "/var/guix/db")
(database-file (string-append database-dir "/db.sqlite"))
(saved-database (string-append database-dir "/db.save"))
+ (path (getenv "PATH"))
(ret #f))
(mkdir-p (%installer-target-dir))
@@ -205,20 +206,8 @@ (define (assert-exit x)
(stop-service 'guix-daemon)
(start-service 'guix-daemon (list (number->string (getpid))))
- (setvbuf (current-output-port) 'none)
- (setvbuf (current-error-port) 'none)
-
- ;; If there are any connected clients, assume that we are running
- ;; installation tests. In that case, dump the standard and error
- ;; outputs to syslog.
- (set! ret
- (if (not (null? (current-clients)))
- (with-output-to-file "/dev/console"
- (lambda ()
- (with-error-to-file "/dev/console"
- (lambda ()
- (run-command install-command)))))
- (run-command install-command))))
+ (setenv "PATH" path)
+ (set! ret (apply (run-command-in-installer) install-command)))
(lambda ()
;; Restart guix-daemon so that it does no keep the MNT namespace
;; alive.
@@ -98,14 +98,6 @@ (define (run-install-failed-page)
(send-to-clients '(installation-failure))
#t)))
-(define* (run-install-shell locale
- #:key (users '()))
- (clear-screen)
- (newt-suspend)
- (let ((install-ok? (install-system locale #:users users)))
- (newt-resume)
- install-ok?))
-
(define (run-final-page result prev-steps)
(define (wait-for-clients)
(unless (null? (current-clients))
@@ -129,7 +121,7 @@ (define (wait-for-clients)
user-partitions
(configuration->file configuration)
(run-config-display-page #:locale locale)
- (run-install-shell locale #:users users))))
+ (install-system locale #:users users))))
(if install-ok?
(run-install-success-page)
(run-install-failed-page))))