summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* element.py: Pass bare_directory also to SandboxRemote()juerg/remote-executionJürg Billeter2018-11-031-0/+1
| | | | Fixes: 825963b5 ("element: Make "--sysroot" take a bare directory")
* Merge branch 'chiaratolentino/fix-pip-source-regex' into 'master'Chandan Singh2018-11-029-32/+203
|\ | | | | | | | | plugins/sources/pip.py: Accomodate characters '-','.','_' for packages See merge request BuildStream/buildstream!914
| * tests/integration/project/files: Remove pypi-repoctolentino82018-11-024-16/+0
| |
| * plugins/sources/pip.py: Accomodate characters '-','.','_' for packagesctolentino82018-11-025-16/+203
|/
* Merge branch 'danielsilverstone-ct/improve-chainmap-get' into 'master'Tristan Van Berkom2018-11-011-0/+6
|\ | | | | | | | | _yaml.py: Implement `get()` for `ChainMap` See merge request BuildStream/buildstream!919
| * _yaml.py: Implement `get()` for `ChainMap`Daniel Silverstone2018-11-011-0/+6
|/ | | | | | | | | | | | Since the core Python `ChainMap.get()` implements with: self[key] if key in self else default The double-chain-lookup is expensive. This simple change solves that for our ChainMap derived structure. As such it improves matters for #466 somewhat. Signed-off-by: Daniel Silverstone <daniel.silverstone@codethink.co.uk>
* Merge branch 'tristan/empty-manual-element' into 'master'Tristan Van Berkom2018-11-013-20/+7
|\ | | | | | | | | | | | | BREAK: manual.yaml: don't set any default env vars Closes #718 See merge request BuildStream/buildstream!916
| * BREAK: manual.yaml: don't set any default env varsAngelos Evripiotis2018-11-013-20/+7
|/ | | | | | | | | | | | | | | | Remove the 'MAKEFLAGS' and 'V' defaults. Now that there is a specialised 'make' element, these make-specific defaults don't make sense here. This element is meant to be a blank slate for folks to build on. Note that this is a breaking change, that will require some users to make changes to their .bst files if they are expecting these environment variable to be set. _versions.py: BST_FORMAT_VERSION bumped to 18. This fixes issue #718
* Merge branch 'bschubert/remove-pytest-runner' into 'master'Benjamin Schubert2018-11-011-1/+40
|\ | | | | | | | | Remove dependency on pytest-runner See merge request BuildStream/buildstream!886
| * Remove dependency on pytest-runnerBenjamin Schubert2018-11-011-1/+40
|/ | | | | | | | This includes a new command mimicking pytest-runner so that we can drop this dependency This was the only setup_requires dependency that we had and will make like easier for people behind proxies
* Merge branch 'chiaratolentino/bst-init-interactive-elementpath' into 'master'Tristan Van Berkom2018-11-012-1/+33
|\ | | | | | | | | _frontend/app.py: Set correct element-path in interactive bst-init See merge request BuildStream/buildstream!912
| * _frontend/app.py: Set correct element-path in interactive bst-initchiaratolentino/bst-init-interactive-elementpathctolentino82018-10-312-1/+33
|/
* Merge branch 'jonathan/debug-remote-failed-builds' into 'master'Jonathan Maw2018-10-3012-69/+174
|\ | | | | | | | | Jonathan/debug remote failed builds See merge request BuildStream/buildstream!869
| * tests: Add tests for 'bst shell --sysroot'Jonathan Maw2018-10-301-0/+29
| | | | | | | | This is related to #539
| * NEWS: Add item for bst shell --sysroot changesJonathan Maw2018-10-301-0/+4
| |
| * element: Make "--sysroot" take a bare directoryJonathan Maw2018-10-303-8/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | i.e. instead of taking a directory that must contain "root" and "scratch", and treating "root" as the root, use the directory directly. In element.py: * __sandbox takes the `bare_sandbox` arg, to pass into the sandbox's constructor In sandbox.py: * If bare_sandbox, `_root` is the passed-in directory, and `__scratch` is None. * Trying to use `__scratch` when bare_sandbox is True is a bug. In _mount.py: * Don't get the value of `__scratch` if it's not needed. This is part of #539
| * sandbox.py: Remove redundant Sandbox.__directoryJonathan Maw2018-10-301-2/+1
| |
| * tests: Add test that cached build trees are staged in build shellsJonathan Maw2018-10-303-0/+105
| | | | | | | | This is related to #539
| * NEWS: Add item for cached buildtree behaviourJonathan Maw2018-10-301-0/+5
| |
| * Element: Use cached buildtree in build shells and failure shellsJonathan Maw2018-10-305-21/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This includes changes in app.py: * Interactive failure shell no longer uses the failed build sysroot, defaulting to the cached build tree. Changes in element.py are: * Errors caused by building don't store the failed build sysroot, instead storing that a sandbox can be created to debug the error. * When staging sources, will stage the element's cached build tree if it exists. Changes in _exceptions.py: * BstError.sandbox is now a flag of whether a sandbox can be opened up to debug the error. Changes in widget.py: * Don't try to print any information about the sandbox. Changes in _message.py: * Fix documentation so Message.sandbox is not a directory any more. This is part of #539
| * element.py: Always clean up the rootdirJonathan Maw2018-10-302-44/+2
|/ | | | | | | | | | | | | We shouldn't need it to persist now that we cache failed build dirs. This change breaks the test `tests/integration/shell.py::test_sysroot_workspace_visible`. I can no longer see a use-case for this test. AIUI, it tested that the failed build sysroot stored in the builddir has the workspace's files in, despite the workspace being unmounted. I believe this behaviour is made redundant by cached buildtrees. This fixes part of #539
* Merge branch 'tristan/architecture-docs' into 'master'Tristan Van Berkom2018-10-2941-3/+8384
|\ | | | | | | | | Tristan/architecture docs See merge request BuildStream/buildstream!907
| * doc: Moved cachekey and sandboxing writings into the architecture sectionTristan Van Berkom2018-10-294-2/+2
| |
| * doc: Adding new architecture document about how the scheduler works.Tristan Van Berkom2018-10-2910-0/+2126
| |
| * doc: Adding new architecture document about highlevel program flowTristan Van Berkom2018-10-294-0/+1831
| |
| * doc: Adding new architecture document describing the dependency modelTristan Van Berkom2018-10-298-0/+904
| |
| * doc: Adding new architecture document describing the data modelTristan Van Berkom2018-10-2912-0/+1437
| |
| * doc: Adding new architecture document with initial "Overview of modules" sectionTristan Van Berkom2018-10-295-0/+2078
| |
| * MANIFEST.in: Include SVG and ODG files in source distributionsTristan Van Berkom2018-10-291-0/+2
| |
| * doc/source/format_intro.rst: Adding link anchor for include directivesTristan Van Berkom2018-10-291-0/+3
| |
| * doc/source/conf.py: Added `images` directory for statically included filesTristan Van Berkom2018-10-291-1/+1
|/
* Merge branch 'bschubert/fix-binary-output-capture' into 'master'Benjamin Schubert2018-10-293-11/+18
|\ | | | | | | | | | | | | Don't close stdout when running 'checkout' to stdout Closes #486 See merge request BuildStream/buildstream!905
| * tests/frontend/buildcheckout.py: Enable test_build_checkout_tarball_stdoutdanielsilverstone-ct/preserve-stdoutbschubert/fix-binary-output-captureDaniel Silverstone2018-10-261-2/+1
| | | | | | | | | | | | | | With the new support for saving the stdout FDs cleanly, and binary mode capture in runcli, enable the tarball-to-stdout test. Signed-off-by: Daniel Silverstone <daniel.silverstone@codethink.co.uk>
| * tests/testutils/runcli.py: Support binary-mode capture of stdoutDaniel Silverstone2018-10-261-6/+7
| | | | | | | | | | | | | | | | In order to test things which write tarballs to stdout correctly, we need to capture the binary output cleanly. This ensures we're not potentially mismatching encodings in and out. Signed-off-by: Daniel Silverstone <daniel.silverstone@codethink.co.uk>
| * _stream.py: Preserve stdout FD across checkout-to-stdoutDaniel Silverstone2018-10-261-3/+10
|/ | | | | | | | In order to support things which might need to use the stdout FD after checkout has completed writing a tarball to it, preserve it by means of `os.dup()` and `os.dup2()` Signed-off-by: Daniel Silverstone <daniel.silverstone@codethink.co.uk>
* Merge branch 'valentindavid/ruamel_warnings' into 'master'Valentin David2018-10-261-2/+2
|\ | | | | | | | | Fix some ruamel warnings during tests See merge request BuildStream/buildstream!889
| * Fix some ruamel warnings during testsValentin David2018-10-261-2/+2
|/
* Merge branch 'danielsilverstone-ct/yaml-sentinel-rework' into 'master'James Ennis2018-10-264-18/+7
|\ | | | | | | | | Move _sentinel from utils.py to _yaml.py See merge request BuildStream/buildstream!903
| * various: Move _sentinel from utils.py to _yaml.pyDaniel Silverstone2018-10-264-18/+7
|/ | | | | | | | | The `_sentinel` in `utils.py` was used only for yaml node tracking. As such, simplify matters by removing it from `utils.py` and move it to `_yaml.py` which means that we no longer need to try and avoid a circular import issue by means of runtime importing. Signed-off-by: Daniel Silverstone <daniel.silverstone@codethink.co.uk>
* Merge branch 'jennis/another_docs_patch' into 'master'James Ennis2018-10-261-3/+42
|\ | | | | | | | | More information regarding the use of systemd to manage the cache See merge request BuildStream/buildstream!904
| * docs: Add more information to "managing the cache with systemmd" sectionJames Ennis2018-10-261-3/+36
| |
| * using_configuring_artifact_server.rst: Fix lines that are too longJames Ennis2018-10-261-3/+9
|/
* Merge branch 'danielsilverstone-ct/use-enumerate' into 'master'Phil Dawson2018-10-261-5/+3
|\ | | | | | | | | _loader/loadelement.py: Use enumerate() in dependency extraction See merge request BuildStream/buildstream!901
| * _loader/loadelement.py: Use enumerate() in dependency extractiondanielsilverstone-ct/use-enumerateDaniel Silverstone2018-10-261-5/+3
|/ | | | | | | | | In cases where elements end up with large numbers of dependencies, the n-squared performance in `_extract_depends_from_node` can produce significant delays during project load. This patch corrects that. In addition we were double-retrieving provenance which was unnecessary. Signed-off-by: Daniel Silverstone <daniel.silverstone@codethink.co.uk>
* Merge branch 'bschubert/fix-command-sandbox' into 'master'Benjamin Schubert2018-10-263-8/+12
|\ | | | | | | | | | | | | Check is command is a str and replace by list before checking existence Closes #728 See merge request BuildStream/buildstream!898
| * Check if command is a str and replace by list before checking existenceBenjamin Schubert2018-10-263-8/+12
|/ | | | | | | | Currently we would make sure the sandbox had a command before converting it to a list if it was given as a string. That meant that a string command would never exist and the check be invalid. This also adds the same logic in the dummy sandbox for consistency.
* Merge branch 'danielsilverstone-ct/do-not-reinsert-yaml' into 'master'Jonathan Maw2018-10-261-3/+2
|\ | | | | | | | | _yaml.py: Do not insert into cache if retrieved from cache See merge request BuildStream/buildstream!902
| * _yaml.py: Do not insert into cache if retrieved from cacheDaniel Silverstone2018-10-261-3/+2
|/ | | | | | | | We were unconditionally inserting into the yaml cache anything we had retrieved from the yaml cache. This had the side-effect of being expensive on re-runs of commands where yaml hadn't changed. Signed-off-by: Daniel Silverstone <daniel.silverstone@codethink.co.uk>
* Merge branch 'chandan/source-doc-directory' into 'master'Chandan Singh2018-10-2523-34/+63
|\ | | | | | | | | | | | | plugins: Don't redundantly document common configurations Closes #713 See merge request BuildStream/buildstream!896
| * build elements: Add reference to BuildElement's built-in configchandan/source-doc-directoryChandan Singh2018-10-2512-0/+35
| | | | | | | | | | | | | | | | | | | | | | For each element plugin derived from BuildElement, add reference to the built-in functionality documentation of BuildElement. * buildelement.py: Add anchor for built-in functionality. * plugins/elements/*.py: Add refence to BuildElement's built-in functionality for each build element. Related to #713.