summaryrefslogtreecommitdiff
path: root/guix/scripts/build.scm
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2017-01-18 16:57:56 +0100
committerLudovic Courtès <ludo@gnu.org>2017-01-19 00:11:15 +0100
commit840f38ba37af1d09eb1e896a6350d6ab7f6532d0 (patch)
tree2439b051b3b081f26e26ca368ed16642f57c9b56 /guix/scripts/build.scm
parent67fee545cc0090cf9db7bc61fb74d30dadbd9973 (diff)
downloadguix-patches-840f38ba37af1d09eb1e896a6350d6ab7f6532d0.tar
guix-patches-840f38ba37af1d09eb1e896a6350d6ab7f6532d0.tar.gz
guix environment, build: Allow absolute file names with '--root'.
Reported by Chris Webber. * guix/scripts/build.scm (register-root): If ROOT is absolute, keep it as is. * guix/scripts/environment.scm (register-gc-root): Likewise. * tests/guix-environment.sh (expected): Add test.
Diffstat (limited to 'guix/scripts/build.scm')
-rw-r--r--guix/scripts/build.scm6
1 files changed, 4 insertions, 2 deletions
diff --git a/guix/scripts/build.scm b/guix/scripts/build.scm
index 8326d64f48..d7d71b7ab9 100644
--- a/guix/scripts/build.scm
+++ b/guix/scripts/build.scm
@@ -99,8 +99,10 @@ found. Return #f if no build log was found."
(define (register-root store paths root)
"Register ROOT as an indirect GC root for all of PATHS."
- (let* ((root (string-append (canonicalize-path (dirname root))
- "/" root)))
+ (let* ((root (if (string-prefix? "/" root)
+ root
+ (string-append (canonicalize-path (dirname root))
+ "/" root))))
(catch 'system-error
(lambda ()
(match paths