| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This allows for users to configure fatal-warnings to be either a list of
warnings.
This commit deprecates the use of fail-on-overlap within project.conf,
this will now use the fatal-warnings configuration item.
element.py: Cache key calculation now takes into account all of the
fatal-warnings
tests: This modifys the tests/frontend/overlaps.py tests to support the
new fatal-warnings configuration. Backwards compatibility is also
tested for `fail-on-overlap`
_versions.py: BST_FORMAT_VERSION bumped to 15 for fatal-warnings
BST_CORE_ARTIFACT_VERSION bumpted to 5 for fatal-warnings
Fixes: #526
|
|
|
|
|
|
| |
Improve fetchers, builders and pushers documentation.
Closes #550.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
bst show
This may be obnoxious for `bst show` purposes, which will now also print
the full artifact cache keys instead of nicely abbreviated ones, but it is a
more appropriate default for the heading of a build session.
This fixes issue #343
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Based on issue 89 (https://gitlab.com/BuildStream/buildstream/issues/89)
Ensuring that elements are staged into unique subdirs while building.
This patch supports that by doing the following:
* Modify project config to add 2 new variables ("project-name" and "element-name")
* Changed the default install-root from "/buildstream/install" to "/buildstream-install"
* Update the tests to accommodate these changes
* Update the expected cache keys in the tests
This fixes #89
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This only affects SandboxBWrap at the moment.
buildstream/_loader.py: Add Symbol.SANDBOX and allow it in validation
buildstream/_metaelement.py: Add 'sandbox' variable and store it in the object
buildstream/_project.py: Add 'sandbox' configuration key and load it from
project.conf.
buildstream/data/projectconfig.yaml: Default build-uid/build-gid values of 0
for 'sandbox'.
buildstream/element.py: Add __extract_sandbox_config to find the final sandbox
configuration. Pass this to the sandbox constructor.
buildstream/sandbox/_sandboxbwrap.py: If sandbox configuration was supplied,
use it for uid and gid instead of the default 0.
buildstream/sandbox/_sandboxchroot.py: Throw exception if non-0 uid/gid were
supplied.
buildstream/sandbox/__init__.py: Import SandboxConfig.
buildstream/sandbox/_private.py: New file, containing SandboxConfig. Made private
to avoid documentation for this class.
|
|
|
|
|
| |
This also bumps the format version to signify a new format
where storing refs centralized in project.refs is now supported.
|
|
|
|
|
|
|
|
|
|
|
| |
Over time, the _project.py module has regressed into expressing
some defaults only hard coded into the python file instead of
properly exposing their default in the base configuration file
in data/projectconfig.yaml, where the default values can be observed
by users.
This patch rectifies that, and also restructures the relevant
surrounding documentation a bit.
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This extends the 'artifacts' configuration block such that a list of
`url` mappings can be given instead of a single entry. For example:
artifacts:
- url: http://example.com/artifacts1
- url: ssh://ostree@example.com/artifacts2
The OSTreeCache class is updated to set up multiple remotes and query
remote refs from all of them.
There are no automated tests for this yet.
Empty URLs ('') now raise an exception. They cause breakages internally
if we allow them through, and they can only occur if the user or our
tests are misconfiguring things somehow.
We report failure to fetch from the cache by printing a message to
stderr for now. This is because BuildStream's actual logging
functionality can't be used during frontend init -- see issue #168.
|
|
|
|
|
|
|
|
| |
This is possible now that the SSH protocol can redirect to the
appropriate pull URL.
Note that this commit makes no attempt at backwards compatibility.
Everthing will break!
|
|
|
|
|
|
|
|
|
|
|
|
| |
Ports can and should be specified by using proper ssh:// URL forms,
e.g:
ssh://artifacts@example.com:22200/artifacts
The alternate form of artifacts@example.com:artifacts isn't a valid
URL, and doesn't let you specify a different port. People are used
to this form due to Git continuing to use it but we should encourage
people to use proper URLs.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Deconstructed the default strip-commands to declare some objcopy and
strip arguments separately, so it's easier to override these in the
case that you are building with an older toolchain which does not
support compression of debug symbols (or if you want to strip them
with something in a more exotic way).
By default pass --compress-debug-sections to objcopy.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
o Load the option definitions with the OptionPool
o Set the user selected project option values according to the passed Context
o Process conditionals in the loaded project configuration,
excepting for the project name and actual option definitions
o Removed a lot of examples from the default config.
This is getting moved into more structured documentation, and the
default config is only presented to the user beside the documentation
which describes what each thing means.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When building Python modules, a bytecode `.pyc` file is generated from
the source `.py` file.
The former contains 4 bytes representing the timestamp of the latter at
the time it was generated.
Unfortunately, after building OSTree sets all the file timestamps to 0,
which introduces a discrepency between the timestamp of the `.py` file
and the 4 bytes stored inside the `.pyc` file.
As a result, when running a Python module from a checkout, Python thinks
the bytecode files are stale, which causes a dramatic performance
penalty when starting an application.
Fixes #94
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
A project can specify its artifacts cache sharing settings, and users can
define a default artifacts cache to use as a fallback.
With this change, users can also override the project configuration with
their own.
That means for a project named "libfoo", BuildStream will resolve the
artifacts-related options in the following order:
1. the projects.libfoo.artifacts options from the user configuration;
2. if the above was not defined, then the artifacts options from the
project configuration;
3. if the above was not defined, then the artifacts options from the
user configuration;
Fixes #87
|
|
|
|
|
|
|
| |
With this commit, we first look at the artifacts options in the project
configuration, then fall back on the user configuration if necessary.
Relates to #87
|
|
|
|
|
|
|
|
|
|
| |
Use {build_root} itself and not a subdirectory of {build_root} for the
build area used in the source-bundle generated build scripts.
This is consistent with what %{build-root} is expanded to when
generating the build scripts.
Fixes issue #67
|
|
|
|
| |
Was instructing users to add this script to the wrong file
|
|
|
|
|
|
|
|
|
|
|
| |
o Define the base buildstream format as BST_FORMAT_VERSION
in the project module
o Load and cache any required versions of plugins
o Assert overall project version is supported at load time
Part of a fix for issue #69
|
|
|
|
|
| |
Currently this gets installed at ${prefix}/share/bash-completion/completions
but this is not exactly correct.
|
|
|
|
|
|
| |
Retry network tasks up to two times by default.
Fixes #30
|
|
|
|
|
| |
If push-url is specified, it must point to the same repository as
pull-url as the summary file is used for pull and push operations.
|
| |
|
|
|
|
|
| |
And touch up comment string to mention that it is the default
also used for `bst show`.
|
| |
|
| |
|
|
|
|
| |
Including changes in _site.py and setup.py
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
In some cases executing ldconfig can fail (for example, musl libc
provides an `ldconfig` that behaves the same as `false`) so we do
need to ignore the return code when running it. However that does
make it easier to overlook mistakes such as this one!
|
|
|
|
|
|
|
| |
We can SIGTERM the sshfs mount, but the ostree process isnt having it, so
we kill the ostree process.
This is better than before, but still far from 100% reliable termination.
|
| |
|
|
|
|
|
| |
This will cause the cleanup handler to abort early, causing it
to leave a stale mount directory behind.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
These tasks mostly just block on network activity and dont cause
the host to slow down, 10 open connections is not a huge workload
so let's default this to 10 instead of 4, things go much quicker
this way.
|
|
|
|
|
|
|
| |
Allows one to configure the maximum amount of lines to print
of a message detail into the master log and console (the entirety
of lengthy lines are always printed in the individual build logs
anyway, this just makes the frontend a bit more bearable)
|
|
|
|
|
| |
Only 'fetch needed' state requires 12 chars, no need to indent
those further when the other element states cost less chars.
|
|
|
|
|
| |
Allow some control on how the pipeline elements are formatted and
displayed in the heading at startup time.
|
| |
|
|
|
|
|
|
| |
Allows one to place elements in a subdirectory instead of forcing
all element paths to be project directory relative. This can be
convenient just for managing a clean project directory structure.
|