summaryrefslogtreecommitdiff
path: root/buildstream/sandbox/sandbox.py
Commit message (Collapse)AuthorAgeFilesLines
* sandbox.py: Use _root in _has_commandjmac/virtual_directoriesJim MacArthur2018-08-011-2/+2
| | | | | | | This will need more attention when we bring in another virtual directory backend, however, we've said it is acceptable for the sandbox itself to access the underlying directory, and this is the best fix in the meantime.
* sandbox.py: Add function to get virtual directory.Jim MacArthur2018-08-011-0/+15
|
* Sandbox.py: Rename __root to _root.Jim MacArthur2018-08-011-4/+5
| | | | | | | | This is to allow to allow its use by subclasses. Since access to get_directories is now blocked for some plugins, and the subclasses of Sandbox do not have configuration defined by YAML files, they need another way to get at the root directory.
* Add BST_VIRTUAL_DIRECTORY flag for element pluginsJim MacArthur2018-08-011-3/+10
|
* Provide better error message on missing commandsTiago Gomes2018-07-021-0/+22
| | | | | | | Before running a command in the sandbox, check its existence and fail early if it does not. This fixes issue #289.
* Remove shebangs from python filesGökçen Nurlu2018-06-191-1/+0
| | | | Fixes #424
* doc/source/core_framework.rst: Use a toctree instead of linksTristan Van Berkom2018-06-091-3/+2
|
* Add 'sandbox' configuration key and build-uid/build-gid elementsJim MacArthur2018-03-231-2/+14
| | | | | | | | | | | | | | | | | | | | This only affects SandboxBWrap at the moment. buildstream/_loader.py: Add Symbol.SANDBOX and allow it in validation buildstream/_metaelement.py: Add 'sandbox' variable and store it in the object buildstream/_project.py: Add 'sandbox' configuration key and load it from project.conf. buildstream/data/projectconfig.yaml: Default build-uid/build-gid values of 0 for 'sandbox'. buildstream/element.py: Add __extract_sandbox_config to find the final sandbox configuration. Pass this to the sandbox constructor. buildstream/sandbox/_sandboxbwrap.py: If sandbox configuration was supplied, use it for uid and gid instead of the default 0. buildstream/sandbox/_sandboxchroot.py: Throw exception if non-0 uid/gid were supplied. buildstream/sandbox/__init__.py: Import SandboxConfig. buildstream/sandbox/_private.py: New file, containing SandboxConfig. Made private to avoid documentation for this class.
* pylint - dealt with redefined-argument-from-local warningJames Ennis2018-03-141-2/+2
|
* Inherit user id and group id for bst shellJürg Billeter2018-02-221-0/+9
| | | | | | This allows D-Bus access. Fixes #227
* doc: Add 'sandboxing' sectionSam Thursfield2018-02-201-0/+2
| | | | | This attempts to document and specify our current sandboxing functionality.
* Add support for doing incremental buildsChandan Singh2018-01-251-0/+20
| | | | | | | | | | | | | | | | | | | | | | | | | This functionality is only supported for sources which have an open workspace. When such sources are present, the workspace directory will be mounted directly inside the sandbox. As opposed to the default behavior, which is to copy files inside the sandbox. This will save time when building large projects as only those files will need be re-compiled that have been modified during two consecutive builds (assuming the underlying build system supports such behavior). A few things to note regarding this behavior: - If there are any `configure-commands` present, they will run only once for each open workspace. If an element has multiple workspaces and any one of them is opened/closed, they will be executed again on the next run. But, modifying the contents of a workspace will not trigger the `configure-commands` to be executed on the next run. - Workspaced builds still leverage the cache. So, if no changes are made to the workspace, i.e. no files are modified, then it will not force a rebuild. Fixes #192.
* sandbox.py: Make mark_directory use keyword args97-apply-pep-3102-to-all-public-api-surfacesJonathan Maw2017-11-141-1/+1
|
* sandbox: Make sandbox.run use keyword argsJonathan Maw2017-11-141-1/+1
|
* sandbox: Refactoring, moving accidentally public MountMap into it's own fileTristan Van Berkom2017-11-061-106/+0
|
* Refactoring: Move exceptions module to be privateTristan Van Berkom2017-11-061-1/+1
| | | | Hide all of buildstream's internal exceptions from the API surface.
* sandbox.py: Fixup placement of main Sandbox docstringTristan Van Berkom2017-10-021-4/+4
|
* Add platform factoriesTristan Maat2017-09-281-4/+3
|
* Move sandboxes to separate directoryTristan Maat2017-09-281-0/+347