| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
o Added new test for `bst shell --mount`
o Removed the test that a directory is refused in `host-files`,
this is no longer a requirement
|
|
|
|
|
|
|
| |
This allows users to explicitly mount whatever they want into the
sandbox environment for `bst shell`.
This closes issue #274
|
|
|
|
|
|
| |
Tweaked the documentation surrounding shell `host-files` to allow
directories, but added a warning that data belonging to a user
should not be specified here.
|
|
|
|
|
| |
We need to specify directories to mount from `project.conf`
after all.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When running a sandbox in interactive mode (implies `bst shell` was launched
or an interactive shell for debugging), dont bail out when cleaning up
directories which are not empty.
We treat this as a bug, if any of the base sandbox directories (/dev,
/tmp or /proc) are not empty when tearing down the sandbox, because
it would indicate something is wrong with bwrap.
When in interactive mode however, the user/project may have mounted
additional directories inside these base directories; for which we
need to create intermediate directories for the mount.
Instead of keeping track of every intermediate directory, just force
remove in interactive mode, as this is safe.
Ideally, we should fix upstream bwrap to cleanup the debris it creates
when exiting.
|
| |
|
| |
|
|
|
|
|
| |
Dont specify how we fallback to launching a shell with `sh -i`,
since this is now configurable in project.conf.
|
|
|
|
|
|
| |
Added metavar, making it more clear that you specify:
bst --option OPTION VALUE
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
that has no sources
When trying to look at the source code for an element, elements that
modify artifacts (e.g. script and compose elements) don't have sources,
so we suggest some other elements that they might try opening workspaces
for.
|
| |
|
| |
|
|
|
|
|
|
| |
The flags BST_FORBID_RDEPENDS and BST_FORBID_SOURCES can be set in the
plugin's class declaration, and exceptions will be raised during
pre-flight checks
|
| |
|
|
|
|
|
|
|
|
| |
Brackets can now be added as plain text in a custom logging format
string, so there's no need to add them in widgets.
widget.py: Remove brackets.
_status.py: Remove the 'brackets' optional argument to TimeCode.
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
| |
WallclockTime is set at the time a message is created. Since messages
can be placed in queues before being rendered, this is not always
the same time as the wallclock time when rendering the message, so it
needs to be stored in the message.
widget.py: Add the two new widgets
_message.py: record system time when a message is created.
|
|
|
|
|
|
|
|
|
|
| |
The idea of a sequence number/ID is to tie together all messages
associated with a given timed activity, to make performance
analysis easier.
_context.py: Add sequence number with atomic increment
_widget.py: SequenceID widget, which displays this value
_message.py: sequence_id variable storing the sequence for a message.
|
| |
|
|
|
|
|
| |
Adds MessageOrLogFile widget, which contains the same functionality
previously used to display messages.
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
When specifying a location for the integration tests cache directory,
we would previously append '/integration-cache' to whatever path we
were given. This is regarded as confusing.
See: https://gitlab.com/BuildStream/buildstream/issues/267
|
|
|
|
|
|
|
|
| |
Previously the code would default to a directory in `/tmp`, but this
is often unsuitable as the Linux 'tmpfs' filesystem doesn't support
extended file attributes and thus cannot store OSTree repositories.
See: https://gitlab.com/BuildStream/buildstream/issues/267
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Newly added tests:
o Test that bind mounting a file works
o Test that bind mounting a file into a non-existing directory works
o Test that bind mounting is disabled in an isolated shell
o Test that the shell still works, but a warning is printed and
the mount is refused in case the specified file on the host
was found to be a directory
o Test that the shell still works, but a warning is printed
in the case that the file specified on the host does not exist
|
|
|
|
|
|
|
| |
This logic existed but is now a bit more complex with
the addition of allowing explicit bind mounts to be defined
for the shell; the change is that now files can also be
mounted into the sandbox instead of just directories.
|
|
|
|
| |
Does not apply to isolated shells.
|
|
|
|
|
|
|
|
|
|
|
| |
A shell configuration allowing one to bind mount files into the
shell sandbox.
This bumps the BST_FORMAT_VERSION to 2.
This is related to #223, and solves #241 (name resolution problems)
by making it possible to specify a bind mount for `/etc/resolv.conf`
in the project configuration.
|
| |
|
|
|
|
| |
Regression test for #273
|
|
|
|
|
|
|
|
|
| |
Workspaced sources are considered unstable if a build is pending as the
build will modify the contents of the workspace. Determine as early as
possible if a build is pending to be able to discard unstable cache
keys.
Fixes #273
|
|
|
|
|
| |
The cache status of reverse dependencies of workspaced elements cannot
always be determined upfront.
|
|
|
|
| |
Cache key handling is now contained within the Element class.
|
|
|
|
|
| |
Keep the knowledge about which cache key is required for cache queries
within the Element class.
|
| |
|
|
|
|
| |
Contain cache key logic in Element class.
|
|
|
|
| |
Contain cache key logic in Element class.
|
|
|
|
| |
Contain cache key logic in Element class.
|
|
|
|
| |
Contain cache key logic in Element class.
|
| |
|
|
|
|
| |
Contain cache key logic in Element class.
|
|
|
|
| |
Contain cache key logic in Element class.
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
Remove unused strength parameter from _cached() and _remotely_cached(),
which makes them simple accessor functions as `__cached` is equivalent
to `__strong_cached` with a strict build plan.
|
|
|
|
|
|
|
|
|
|
| |
o Removing format_files() helper in testutils
o Removing imports of format_files()
o Removing imports of walk_dir() where it's not used
o Removing `element_path` variables that are unused
|