Source files are read-only hard links with buildbox-run
With buildbox-run without FUSE, not only staged dependencies but also source files in the sandbox are hardlinked from CAS. This causes the following issues:
- Source files are read-only. This breaks a few tests and may break build commands or build systems that modify source files.
- The mtime of the source files is the mtime of the corresponding file in buildbox-casd's local cache. This breaks a few tests and may break reproducibility as the mtime may differ without affecting the cache key.
buildbox-run without FUSE is currently used either with the experimental buildbox-run sandboxing backend (#1177 (closed)) or with remote execution if the server uses a buildbox worker.
A possible solution is to set the MTime NodeProperty to BuildStream's 'magic' timestamp (2011-11-11 11:11:11). This will require support by buildbox-casd to create copies with the requested mtime instead of hardlinks if the MTime NodeProperty is set. Support for this will anyway be required for incremental workspace builds.
Edited by Jürg Billeter