summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2025-02-25 15:47:19 +0100
committerLudovic Courtès <ludo@gnu.org>2025-03-10 15:41:32 +0100
commit24478808756c2787e4cb60d2d0e97f87924d2aa4 (patch)
tree1444529842929914b762067fe6d7256a5e6fee49
parent1548403fa70609a2efd47d1a802587799dc022d6 (diff)
gexp: No symlinks for ‘imported-files/derivation’.
Fixes <https://issues.guix.gnu.org/76376>. This is a followup to 149de38d0a2560277ee9bdda2104fbd45608bcb2, which did not suitably follow symlinks. The test case didn’t catch this because, when using ‘--disable-chroot’, the symlink target is accessible within the build environment. * guix/gexp.scm (imported-files/derivation): Call ‘readlink*’ on ‘file-name’. Co-authored-by: Ryan Sundberg <ryan@arctype.co> Change-Id: Idc5b59cd8f0c1217e84c7cbfba64d97d5999429f
-rw-r--r--guix/gexp.scm2
1 files changed, 1 insertions, 1 deletions
diff --git a/guix/gexp.scm b/guix/gexp.scm
index 9ce6810172..811cf02a53 100644
--- a/guix/gexp.scm
+++ b/guix/gexp.scm
@@ -1586,7 +1586,7 @@ to the source files instead of copying them."
(define file-pair
(match-lambda
((final-path . (? string? file-name))
- (mlet %store-monad ((file (interned-file file-name
+ (mlet %store-monad ((file (interned-file (readlink* file-name)
(basename final-path))))
(return (list final-path file))))
((final-path . file-like)