... |
... |
@@ -51,7 +51,7 @@ well. |
51
|
51
|
Filesystem access
|
52
|
52
|
~~~~~~~~~~~~~~~~~
|
53
|
53
|
|
54
|
|
-The filesystem inside sandboxes should be read only during element assembly,
|
|
54
|
+The filesystem inside sandboxes should be read-only during element assembly,
|
55
|
55
|
except for certain directories which element plugins can mark as being
|
56
|
56
|
read/write. Most elements plugins derive from :mod:`BuildElement
|
57
|
57
|
<buildstream.buildelement>`, which marks ``%{build-root}`` and
|
... |
... |
@@ -158,17 +158,17 @@ and will refuse to push any artifacts built on such a system to a remote cache. |
158
|
158
|
For more information, see `issue #92
|
159
|
159
|
<https://gitlab.com/BuildStream/buildstream/issues/92>`_.
|
160
|
160
|
|
161
|
|
-The Linux platform can operate as a standard user provided user namespace
|
|
161
|
+The Linux platform can operate as a standard user, if user namespace
|
162
|
162
|
support is available. If user namespace support is not available you have the
|
163
|
163
|
option of installing bubblewrap as a setuid binary to avoid needing to run the
|
164
|
164
|
entire ``bst`` process as the ``root`` user.
|
165
|
165
|
|
166
|
|
-The artifact cache on Linux systems is implemented using `OSTree
|
167
|
|
-<https://github.com/ostreedev/ostree>`_, which can allow us to stage artifacts
|
168
|
|
-using hardlinks instead of copying them. To avoid cache corruption it is
|
169
|
|
-vital that hardlinked files cannot be overwritten. In cases where the root
|
170
|
|
-filesystem inside the sandbox needs to be writable, a custom FUSE filesystem
|
171
|
|
-named SafeHardlinks is used which provides a copy-on-write layer.
|
|
166
|
+The artifact cache on Linux systems is implemented using a content-addressable
|
|
167
|
+hardlink farm, which can allow us to stage artifacts using hardlinks instead of
|
|
168
|
+copying them. To avoid cache corruption it is vital that hardlinked files
|
|
169
|
+cannot be overwritten. In cases where the root filesystem inside the sandbox
|
|
170
|
+needs to be writable, a custom FUSE filesystem named SafeHardlinks is used
|
|
171
|
+which provides a copy-on-write layer.
|
172
|
172
|
|
173
|
173
|
Some of the operations on filesystem metadata listed above are not prohibited
|
174
|
174
|
by the sandbox, but will instead be silently dropped when an artifact is
|