profiles: Make sure hook derivations fail upon error.

Reported at
<https://lists.gnu.org/archive/html/guix-devel/2016-06/msg00368.html>.

* guix/profiles.scm (info-dir-file)[build]: Add explicit call to
'exit'.
* guix/profiles.scm (ghc-package-cache-file)[build]: Likewise.
* guix/profiles.scm (xdg-desktop-database)[build]: Likewise.
* guix/profiles.scm (xdg-mime-database)[build]: Likewise.
This commit is contained in:
Ludovic Courtès 2016-06-12 22:33:07 +02:00
parent 52530805b3
commit 4d4c3614c8
No known key found for this signature in database
GPG key ID: 090B11993D9AEBB5

View file

@ -510,9 +510,9 @@ (define (install-info info)
info (string-append #$output "/share/info/dir"))))
(mkdir-p (string-append #$output "/share/info"))
(every install-info
(append-map info-files
'#$(manifest-inputs manifest)))))
(exit (every install-info
(append-map info-files
'#$(manifest-inputs manifest))))))
(gexp->derivation "info-dir" build
#:modules '((guix build utils))
@ -562,7 +562,7 @@ (define (copy-conf-file conf)
(system* (string-append #+ghc "/bin/ghc-pkg") "recache"
(string-append "--package-db=" db-dir)))))
(for-each delete-file (find-files db-dir "\\.conf$"))
success)))
(exit success))))
(with-monad %store-monad
;; Don't depend on GHC when there's nothing to do.
@ -710,7 +710,7 @@ (define build
(mkdir-p (string-append #$output "/share"))
(union-build destdir appdirs
#:log-port (%make-void-port "w"))
(zero? (system* update-desktop-database destdir)))))
(exit (zero? (system* update-desktop-database destdir))))))
;; Don't run the hook when 'desktop-file-utils' is not referenced.
(if desktop-file-utils
@ -745,7 +745,7 @@ (define build
(union-build (string-append destdir "/packages") pkgdirs
#:log-port (%make-void-port "w"))
(setenv "XDG_DATA_HOME" datadir)
(zero? (system* update-mime-database destdir)))))
(exit (zero? (system* update-mime-database destdir))))))
;; Don't run the hook when 'shared-mime-info' is referenced.
(if shared-mime-info