| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Some changes to the host-files configuration:
o Dont require `host-files` to not be directories
We need to specify directories to mount from `project.conf` after all.
o Added possibility of specifying optional mounts, to avoid
meaningless warnings where optional files don't exist on
the host
Added --mount CLI option to `bst shell`
This allows users to explicitly mount whatever they want into the
sandbox environment for `bst shell`.
This closes issue #274
|
|
|
|
|
|
| |
widget.py: Main body of tokenizer.
_context.py: Read message-format from user config YAML.
main.py: Pass in context message-format to LogLine constructor.
|
|
|
|
|
|
|
|
| |
Element._shell()
And use this place to format a custom prompt for PS1, here
we have click and we use the ANSI colors in PS1 only if colors are
enabled.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This changes a few things:
o How the shell environment and sandbox modes are setup is
not decided by whether a `--build` sandbox was staged or not
o In interactive build debugging mode, an isolated build
sandbox is used
o The bst shell command now has the option to control it
o All invocations of bst shell now use a read-only rootfs,
avoiding FUSE layer and file descriptor limits (this can
be made optional later if needed)
This is a part of issue #223
|
|
|
|
|
| |
This reduces the number of unconditional imports, mainly to speed up
bash completion.
|
|
|
|
|
| |
This introduces junctions as a new kind of elements to allow
dependencies to cross project boundaries.
|
|
|
|
| |
cli_options are project-specific.
|
|
|
|
|
|
|
|
| |
SafeHardlinks FUSE needs to hold file descriptors for all processes in
the sandbox. Avoid hitting the limit too quickly by increasing the soft
limit to the maximum.
Fixes #232
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
At present, BuildStream supports source-specific workspaces. This patch
makes workspaces element-wide. This will bring workspaces closer to what
the build area looks like inside the sandbox when the build actually
happens.
As part of this change, format of `.bst/workspaces.yaml` file will also
change. Previously, each element used to have a dict mapping each source
to its workspace directory. Now, each element will directly map to its
workspace directory.
If users have existing workspaces open, this patch tries to cope with it
but in some cases, it is not possible to reliably convert workspace
config from old format to new format. When an element has workspace open
for just one source, we assume that to be the workspace directory. But
if there were more than one workspaces associated with an element,
BuildStream will simply error out describing the issue.
Note that the actual contents of the workspace directory are not changed
in any case. So, if an element had multiple sources associated with it
but only had workspace open for source, the other sources will not be
automatically staged in the workspace unless the user runs `workspace
reset` or something equivalent.
Part of #209.
|
|
|
|
|
| |
The 'ctx' parameter is carefully threaded through to 'complete_target',
but it doesn't actually use it. Remove the parameter from unused places.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
This removes most of the usages of pkg_resources from the codebase, helping
the goal of getting rid of that completely.
With this change, version number is generated during install and embedded into
`__version__` which is then imported by root level `__init__`. From there,
it is used by other parts of the codebase when needed.
Generated `__version__` file is ignored and not tracked by git to prevent
unnecessary 'changes' messages and accidental commits of that file.
|
|
|
|
| |
staging artifacts
|
|
|
|
|
| |
_force_inconsistent is too low level. Keep that detail contained in the
Source class.
|
|
|
|
|
| |
Do not mark target element as inconsistent for `bst source-bundle` and
`bst workspace open` if tracking is disabled.
|
| |
|
|
|
|
|
|
|
|
| |
This allows pushing and pulling from a specific cache, ignoring what is
configured.
If we choose to add a --remote option to `bst build` in future that
would now be simple to do.
|
|
|
|
|
|
|
|
| |
Added app.print_error() to consistently print an error while
running the pipeline stuff.
Also make bst push & pull commands more consistent with
the rest, and print the summary at the end as expected.
|
|
|
|
|
|
|
| |
This also makes main.py less redundant, for some reason there was a stray
call to app.pipeline.initialize() beside app.initialize() in every function,
instead move that into app.initialize() where we now handle the error
and exit gracefully.
|
|
|
|
|
|
|
|
|
|
|
| |
Now we just assume that logging is turned on all the time, any
messages must now always go through the central context messaging
APIs.
As a side effect, we now send all output messages that
buildstream generates to stderr, leaving stdout only to
payload types of output, such as parsible `bst show` output,
the output of `bst workspace list` or `bst shell`.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
This fixes #162
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This fixes a regression from the canonical-pull-urls branch that was
just merged. The `OSTreeCache.__init__()` function was connecting to
the cache, which is bad because execution would randomly freeze for
several seconds when the connection was slow.
We now only initialize remote connections where needed; this was
already introduced in 5c2ef6d076921bc0121e61efaa7a719c34ea1912 but
had regressed. I renamed the keyword arg from `fetch_remote_refs`
to `use_remote_cache` because it needs to be set for any interaction
with the remote cache, doesn't matter if they are fetches or pushes.
The initialization stage is also moved later so that we print a message
telling the user what we are up to before trying the network access.
|
|
|
|
|
|
|
|
| |
On interruption, this makes buildstream to accept the first character of all
the possible choices as if it was the full command. This behavior has been
added to the failure screen and to the interruption screen.
Fixes https://gitlab.com/BuildStream/buildstream/issues/130
|
|
|
|
|
| |
Since these changes were effected in 3b17762a4cab23c238762ca32baa348788347473,
these stringifications are now implied and no longer needed.
|
|
|
|
|
|
|
| |
This reverts commit d05f0f433979a6ae79667bb51d4a7a5f365941d6.
Reverting this commit, seems to consistently break the cmake
integration test when running on gitlab
|
|
|
|
|
|
|
|
| |
On interruption, this makes buildstream to accept the first character of all
the possible choices as if it was the full command. This behavior has been
added to the failure screen and to the interruption screen.
Fixes https://gitlab.com/BuildStream/buildstream/issues/130
|
|
|
|
|
|
|
|
| |
Causes --except specified elements to be loaded separately
and the intersections of the except elements and the loaded
pipeline to be calculated.
This fixes issue #131
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Consequently:
o Changed Plugin.get_context() to a private Plugin._get_context() accessor.
o Updated anything which imports Context to do so from private _context module
o Updated docs to exclude the now private Context
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This required adding two new APIs to make up for it on the Source
o get_project_directory()
Added here because elements should not be accessing external
resources, Sources needed for local files and GPG keys and such
o translate_url()
Used by sources to mish-mash the project aliases and create
real urls.
|
|
|
|
|
|
| |
Base class for exceptions is now a part of the already private _exceptions module
Also moved PipelineError from _pipeline -> _exceptions module
|
|
|
|
| |
Hide all of buildstream's internal exceptions from the API surface.
|
|
|
|
| |
And adding --integrate/--no-integrate option to `bst checkout`
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
We avoid printing regular start/success/status messages etc
at startup time in advance of the heading, this would introduce
a lot of noise while interrogating source plugins for consistency
state.
This patch holds on to important errors and warnings which might
be raised by core components at startup time, and prints them
immediately after printing the heading.
|
|
|
|
|
|
|
| |
This is deadcode, except_ is already calculated before we get here.
Updated some internal comments to reflect this, and updated the frontend
to not pass the useless except_ parameter.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
o bst build
o bst push
o bst pull
o bst show --downloadable
This adds a `--downloadable` option to `bst show`, if this is
specified then buildstream will spend some time trying to download
the remote artifact share's refs and refresh the local downloadable
state.
This fixes #140
|
| |
|