| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
Users shouldn't see any difference between values hardcoded in Python (if
there are any) and the values in projectconfig.yaml, which were previously
items 0 and 1 respectively. Combined these both into 1 and made it clear that
not all of project.conf is applied right away.
|
|
|
|
| |
This reverts commit 14234ccce3e7eec1153e810fab75afb2e90a2b22.
|
|
|
|
|
| |
widget.py: Remove SequenceID from the list of widgets.
tests/frontend/logging.py: Remove %{sequence} check.
|
|
|
|
|
|
|
| |
Messages which come from the frontend do not have any backing log
file where the remainder of the message can be reviewed. In the
case of lengthly detailed messages originating from the frontend,
we dont allow any abbreviation of the message.
|
|
|
|
|
| |
We should always show the user the "kind" string when referring
to a plugin type, not the type name with `type(self).__name__`.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Source interrogation usually involves calling out to host tools
to quickly check if a given ref exists. This has however regressed
over time when running `bst build --track`.
This patch adds a new context manager to silence the messages,
and silences messages while calling `Source.get_consistency()`
Fixes #280
|
|
|
|
|
|
|
|
| |
This adds a reference to the benchmarking tool generated as part of
https://gitlab.com/BuildStream/buildstream/issues/205.
It also documents recommended strategies for profiling, which fixes
https://gitlab.com/BuildStream/buildstream/issues/206.
|
| |
|
|
|
|
|
|
|
|
| |
version 1
This was added slightly before format version 1, but was done
without a version increment. Previous format versions cannot
be relied upon for use of this feature.
|
| |
|
| |
|
|
|
|
|
| |
This is made redundant by the more complete `environment` configuration,
so lets quickly remove the former in this new format version 4.
|
|
|
|
|
|
|
| |
And also ammend the documentation for `host-files` to note that
the paths support host side environment variable expansion.
Documenting both `host-files` and `environment` to require format version 4.
|
| |
|
|
|
|
|
|
|
|
|
| |
This introduces a new `environment` section of the project `shell`
configuration to set explicit env vars when running a non-isolated shell.
This supports host environment variable expansion.
This is a part of addressing #223
|
| |
|
|
|
|
|
|
|
|
| |
This allows one to mount paths based on host specific environment
variables, this can be useful for mounting things under XDG_RUNTIME_DIR,
which is needed for host pulseaudio connections.
This is another part of addressing #223
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
o CliIntegration.run() now takes a `project_config` option, this
will be composited on top of the existing, substituted project.conf
o Removing gnomesdk alias from integration tests project.conf
o Using `sysroot` alias instead of `gnome7` alias
o Make base-alpine.bst use the `sysroot` alias now
o Removed `create_project_config()` from shell.py tests, now
use the new built-in feature for this which is cleaner.
|
| |
|
|
|
|
| |
This is now enhanced and an API change was introduced.
|
|
|
|
|
|
|
|
|
|
|
| |
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
o Updated names of the `host-files` mount specification members
o Test the new `optional` feature of the mount specifications
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|