mkDummySrc: preserve mode and then make writeable separately #964
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
--no-preserve=modecausescpto attempt to clear out the xattrs,which involves calling the fsetxattr syscall to set the
"system.posix_acl_access" xattr.
A previous attempt used
--no-preserve-mode+--preserve=xattrtoprevent needing to change any xattrs at all, but this doesn't work when
cpis built without xattr support. So instead we just create the effectof
--no-preserve=modewithout using that flag: making$outwriteable,recursively.
Without this, builds can fail when using macOS's Virtualization.framework
to share the store into a Linux VM, because its implementation of virtiofs
doesn't seem to support xattrs.
Specifically, this fixes building crane derivations with the Native
Linux Builder.
Motivation
Checklist
docs/API.md(or general documentation) with changesCHANGELOG.md