summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* .gitlab-ci.yml: Run test in current Debian stable (stretch)jjardon/debian-9_testingJavier Jardón2018-04-251-0/+4
|
* .gitlab-ci.yml: Remove unneded declaration of dependencies:Javier Jardón2018-04-251-14/+0
| | | | | "artifacts from all previous stages are passed by default." https://docs.gitlab.com/ee/ci/yaml/#dependencies
* doc/source/install.rst: Add requirements to use the bst cachejjardon/install_depsJavier Jardón2018-04-241-0/+5
| | | | See #358
* doc/source/install.rst: Add fuse to the list of dependenciesJavier Jardón2018-04-241-0/+1
| | | | See #358
* doc/source/install.rst: Update build instructions for FedoraJavier Jardón2018-04-241-2/+2
|
* doc/source/install.rst: Update build instructions for Debian Testing/SidJavier Jardón2018-04-241-3/+2
|
* doc/source/install.rst: Update install instruction for Debian strechJavier Jardón2018-04-241-2/+2
|
* tests/testutils/integration.py: Avoid inconsistent symlink handlingSam Thursfield2018-04-231-0/+5
| | | | | | | | The output of walk_dir() seemed to be inconsistent in how it traversed symlinks. Presumably this is to do with differences in how the filesystem return files. If we do an in-place sort of the list of files and directories that we get, os.walk() will honour that order which should make the output stable.
* Add compose-symlinks testcaseSam Thursfield2018-04-236-0/+66
| | | | | This is a regression test for the issue raised here: https://gitlab.com/BuildStream/buildstream/issues/270
* plugins/elements/compose.py: Avoid losing files inside directory symlinksSam Thursfield2018-04-231-13/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The logic for determining which files were removed by integration commands was broken when dealing with files staged within symlink directories. This rather weird scenario is only possible because of the way BuildStream layers artifacts. If artifact 1 contains a symlink from `/sbin` to `/usr/sbin`, and artifact 2 is staged on top and contains a file `/sbin/init`, then the resulting filesystem contains a file at `/usr/sbin/init`. The manifest used by the compose element is generated from the contents of the individual artifacts, so it lists the original paths such as `/sbin/init`, but would would not contain `/usr/sbin/init` as nothing has processed the symlinks. The path `/sbin/init` is valid inside the composed tree, but filesystem traversals that don't follow symlinks will not report that path in their results. The compose plugin would look for `/sbin/init` in the results of `utils.list_relative_paths()`, find it missing, and would act as if some integration command had removed the file. This meant it would not end up in the results. To fix this, I have inverted the logic that processes the results of the integration commands. We now work through every path in the manifest and check it against the results of the integration commands, rather than the other way around, and if any path from the manifest doesn't appear in the snapshot we assume that it has staged in a different location due to symlinks. See: https://gitlab.com/BuildStream/buildstream/issues/270
* plugins/elements/compose.py: Only calculate snapshot when neededSam Thursfield2018-04-231-5/+8
| | | | | | This is an optimisation for the case where the compose element doesn't do any splitting, and also brings 2 related code fragments closer to each other.
* plugins/elements/compose.py: Use sets instead of lists where appropriateSam Thursfield2018-04-231-7/+8
| | | | | There is no significant order for the lists of added, removed and modified files, so use an unordered set() to store the data.
* bst-here: Add '-p' flag to upgrade buildstream (Issue #291)Tristan Maat2018-04-231-3/+15
|
* HACKING.rst: Fixing formatting of titles.Tristan Van Berkom2018-04-231-2/+2
| | | | Titles have 2 blank lines before them, and no blank lines after them.
* HACKING.rst: Add a section on BST_PROFILE and the artifact cache.Jim MacArthur2018-04-231-0/+33
|
* Add artifact cache receive profiling domainJim MacArthur2018-04-232-1/+16
| | | | | | _artifactcache/pushreceive.py: Wrap OSTreeReceiver.do_run in a profiling domain. _profile.py: Add 'ARTIFACT_RECEIVE' domain.
* doc/source/install.rst: Removing blank line which appeared below titleTristan Van Berkom2018-04-231-1/+0
| | | | Sections have 2 blank lines before them, and no blank line after them.
* doc/source/install.rst: minimum bubblewrap version is 0.1.2Javier Jardón2018-04-231-1/+1
|
* Revert "doc/source/install.rst: Mention bwrap version requirements"Javier Jardón2018-04-231-6/+1
| | | | | | | | | Seems this was not propperly rebased; libostree and bubblewrap requirements are already there. Also the paragraph about docker was removed in commit f0b350f158ed14c97613dc22b83ed89759b8d255 This reverts commit 7854fc5037204474d16618c657a1cd1ca12c888e.
* Overwrite sys.excepthook to handle exceptions in the main application.tristan/except-hook-no-testTristan Van Berkom2018-04-231-0/+21
| | | | | | | | | | | | | This uses the existing messaging system to report errors in the main application as a BUG type. It requires the use of a global_app variable which isn't ideal; this may be replaced in future. This partially addresses issue #197. Theoretically, an exception could occur before Scheduler.loop is set up, hence the check for it when terminating all jobs. NOTE: This was originally submitted by Jim MacArthur, and manually reapplied after some refactoring took place.
* tests/pipeline/preflight-error: Fixing typo in error string formattingTristan Van Berkom2018-04-231-1/+1
|
* doc/source/index.rst: Make main documentation title sober again.Tristan Van Berkom2018-04-231-3/+3
| | | | Drop the happy welcome phrase with exclamation point.
* HACKING.rst: Add a note about arpy being required for docsTristan Maat2018-04-201-2/+8
|
* deb.py: Make pylint stop complaining about arpyTristan Maat2018-04-201-1/+1
|
* doc/source/install.rst: Mention bwrap version requirementsmilloni2018-04-201-1/+6
|
* setup.py: Assert Bubblewrap versionmilloni2018-04-201-4/+35
| | | | | The required version is 0.1.2 based on the fact that we're using --hostname and --remount-ro.
* .pylintrc: Enable attribute-defined-outside-init messagesTristan Van Berkom2018-04-201-1/+0
| | | | | | | This will give us an error if an instance attribute is ever declared outside of the constructor, which usually constitutes either a bug or a violation of the coding standard, rendering code more difficult to read.
* _scheduler/job.py: Disable attribute-defined-outside-init lint errorTristan Van Berkom2018-04-201-0/+1
| | | | | This is in a derived Process from the standard lib, we add this here because we are unsure about the constructor signature.
* _artifactcache/pushreceive.py: Fixed ProcessWithPipes to declare attributes ↵Tristan Van Berkom2018-04-201-0/+3
| | | | in constructor
* _pipeline.py: Declare tracking related members in the constructorTristan Van Berkom2018-04-201-1/+2
|
* _context.py: Properly declare and document log_message_format in the constructorTristan Van Berkom2018-04-201-0/+3
|
* plugins: Disable attribute-defined-outside-init pylint errorTristan Van Berkom2018-04-2014-0/+15
| | | | | Plugins set their attributes in configure(), because the constructor is not public API.
* Add example formatsdevcurmudgeon2018-04-191-1/+2
|
* .pylintrc: Enable linting for unused variablesTristan Van Berkom2018-04-191-1/+0
|
* buildstream/utils.py: Fixing unused variablesTristan Van Berkom2018-04-191-2/+2
|
* buildstream/sandbox/_mount.py: Fixing unused variablesTristan Van Berkom2018-04-191-1/+1
|
* buildstream/plugins/sources/_downloadablefilesource.py: Fixing unused variablesTristan Van Berkom2018-04-191-1/+1
|
* buildstream/plugin.py: Fixing unused variablesTristan Van Berkom2018-04-191-7/+2
|
* buildstream/element.py: Fixing unused variablesTristan Van Berkom2018-04-191-1/+1
|
* buildstream/_options/optionpool.py: Fixing unused variablesTristan Van Berkom2018-04-191-3/+5
|
* buildstream/_loader/loader.py: Fixing unused variablesTristan Van Berkom2018-04-191-2/+1
|
* buildstream/_frontend/status.py: Fixing unused variablesTristan Van Berkom2018-04-191-1/+1
|
* buildstream/_frontend/app.py: Fixing unused variablesTristan Van Berkom2018-04-191-1/+1
|
* buildstream/_context.py: Fixing unused variablesTristan Van Berkom2018-04-191-2/+2
|
* buildstream/_artifactcache/pushreceive.py: Fixing unused variablesTristan Van Berkom2018-04-191-5/+5
|
* tests/frontend/track.py: Added test for `bst track --deps none`Tristan Van Berkom2018-04-191-0/+40
| | | | This guards against regressions of issue #367
* _frontend/cli.py: Set the track_selection argument to the deps parameterTristan Van Berkom2018-04-191-1/+1
| | | | | | | Tell the pipeline to only track either 'none' or 'all' PipelineSelection modes. This fixes issue #367
* _pipeline.py, _frontend/app.py: Added track_selection initialization argumentTristan Van Berkom2018-04-192-15/+33
| | | | | This informs the pipeline what PipelineSelection mode to use for constructing the list of elements to track.
* _pipeline.py: Added PipelineSelectionTristan Van Berkom2018-04-192-14/+41
| | | | | | | | Part of a slow, ongoing refactor to unmangle the pipeline into something which just creates pipelines of elements for a centerpiece to process. This also renames Pipeline.deps_elements() -> Pipeline.get_selection()
* doc/source/index.rst: Replace welcome paragraphjjardon/doc_readmeJavier Jardón2018-04-181-10/+7
|