From 7b0449712e0a76e3fe9d4f032e9774f5179d3a18 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Fri, 15 Jun 2018 09:33:07 +0200 Subject: [PATCH] hydra: Make sure we add an absolute file name to the load path. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Previously, under Cuirass, we'd add "build-aux/cuirass/../hydra/../..". But then, commit c45477d2a1a651485feede20fe0f3d15aec48b39 added this in (gnu system vm): (local-file (search-path %load-path "guix/store/schema.sql")) Since 'search-path' would not return an absolute file name, 'local-file' would try to resolve that relative to "gnu/system", leading to: ERROR: In procedure force: In procedure canonicalize-path: No such file or directory: "/gnu/store/…-guix-ce573b1/gnu/system/build-aux/cuirass/../hydra/../../guix/store/schema.sql * build-aux/hydra/gnu-system.scm : Canonicalize DIR before adding it to %LOAD-PATH. --- build-aux/hydra/gnu-system.scm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/build-aux/hydra/gnu-system.scm b/build-aux/hydra/gnu-system.scm index 654f3ecf3e..b1554ced4c 100644 --- a/build-aux/hydra/gnu-system.scm +++ b/build-aux/hydra/gnu-system.scm @@ -43,7 +43,8 @@ (and=> (assoc-ref (current-source-location) 'filename) (lambda (file) - (let ((dir (string-append (dirname file) "/../.."))) + (let ((dir (canonicalize-path + (string-append (dirname file) "/../..")))) (format (current-error-port) "prepending ~s to the load path~%" dir) (set! %load-path (cons dir %load-path))))))