civodul pushed a commit to tag 1.8
in repository guix.
commit 3800f441e49af78b95d403014459dbb9bb646e8a
Author: Eelco Dolstra <[email protected]>
Date: Fri Oct 3 16:53:28 2014 +0200
createDirs(): Handle ‘path’ being a symlink
In particular, this fixes "nix-build -o /tmp/result" on Mac OS X
(where /tmp is a symlink).
---
src/libutil/util.cc | 3 +++
1 files changed, 3 insertions(+), 0 deletions(-)
diff --git a/src/libutil/util.cc b/src/libutil/util.cc
index 0729bf6..4365806 100644
--- a/src/libutil/util.cc
+++ b/src/libutil/util.cc
@@ -383,6 +383,9 @@ Paths createDirs(const Path & path)
created.push_back(path);
}
+ if (S_ISLNK(st.st_mode) && stat(path.c_str(), &st) == -1)
+ throw SysError(format("statting symlink ‘%1%’") % path);
+
if (!S_ISDIR(st.st_mode)) throw Error(format("‘%1%’ is not a directory") %
path);
return created;