Ryan Sundberg wrote 3 weeks ago
(address . guix-patches@gnu.org)(name . Ryan Sundberg)(address . ryan@arctype.co)
When we intern a file from the store during `imported-modules`, if the
file is a symlink (e.g., from a Guix profile), a dangling symlink can be
created in the module-import builder.
Follow any symlinks before interning the files to the store, so that the
file itself is imported and not the dangling link.
See also: https://issues.guix.gnu.org/73275
* guix/gexp.scm (imported-files/derivation): canonicalize-path
Change-Id: Ic0af90cda7c5c5819526e455cf62300e18408dbd
---
guix/gexp.scm | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
Toggle diff (17 lines)
diff --git a/guix/gexp.scm b/guix/gexp.scm
index e44aea6420..85351b0322 100644
--- a/guix/gexp.scm
+++ b/guix/gexp.scm
@@ -1576,7 +1576,7 @@ (define* (imported-files/derivation files
(define file-pair
(match-lambda
((final-path . (? string? file-name))
- (mlet %store-monad ((file (interned-file file-name
+ (mlet %store-monad ((file (interned-file (canonicalize-path file-name)
(basename final-path))))
(return (list final-path file))))
((final-path . file-like)
base-commit: 91b18baa4274a025d28f06133682a9269217730d
--
2.41.0