| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
This is merely a protection against crossing the project/context
wires together. The Project will gain knowledge of the context soon,
so it's better that the context itself remain without any knowledge
of the context.
|
|
|
|
|
| |
Consequently improved _yaml.node_sanitize() to omit a crazy lambda
which had no effect at all on the outcome of the function.
|
|
|
|
|
|
|
|
|
|
| |
All of the _yaml APIs which deal with a node (dictionary loaded
from YAML) are named _yaml.node_foo(), _yaml.node_bar(), _yaml.node_baz()
etc, except for this one glaring exception.
Also added a missing internal API documenting comment for _yaml.node_validate()
Also updated all callers to _yaml.validate_node() to now call _yaml.node_validate().
|
|
|
|
|
|
| |
This was incorrectly accessing the dictionaries directly without
the proper _yaml.node_get() APIs, it was also missing out on
validation of the artifact configuration.
|
|
|
|
|
|
|
| |
This is just a step towards making the per-project overrides a little
bit more comprehensive in the code base.
Also, validation was missing on the overrides entirely.
|
| |
|
| |
|
| |
|
|
|
|
|
| |
Fixes the previous commits which attempt to allow optionally
only installing bst-artifact-receive, which doesnt work, because pip.
|
|
|
|
|
|
|
|
|
|
| |
Two branches got developed at the same time:
* Tristan's cross-platform work
* my work on per-project overrides for artifacts-related options
Mine got merged first, and somehow this must have been missed in a
rebase.
|
| |
|
|
|
|
|
|
| |
A convenience to install `bst-artifact-receive` on an artifact server
that does not have the ostree and bubblewrap requirements to install
the main `bst` program.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is equivalent to this upstream pull request:
https://github.com/terencehonles/fusepy/pull/72
It is needed for BuildStream to work on ppc64 architectures. Without this
fix, the FUSE safe-hardlinks filesystem returns garbage. One visible effect
is that running integration commands fails with "executable format error"
(due to the filesystem returning garbage in place of the actual binary).
https://gitlab.com/BuildStream/buildstream/issues/83
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The upstream of fuse.py is <https://github.com/terencehonles/fusepy>. It looks
pretty abandoned -- there have been no commits there since 5th April 2016 and
there are 17 pull requests dating from 2013 onwards that are still waiting for
responses from the maintainer.
There's no support in fuse.py for ppc64 platforms which means BuildStream is
unusable on that architecture at present. My pull request to fix that upstream
is being ignored; since the module is a single .py file provided under the
ISC license it is simplest to pull the whole thing into buildstream.git instead.
The version of fuse.py that's been embedded is the one from pull request #72,
from upstream release v2.0.4 (commit 0eafeb5).
|
|
|
|
| |
Fixes another regression from validating all the loaded node attributes.
|
|
|
|
|
|
| |
On slow machines, the actual push operation can spend several minutes
preparing before actually pushing, which is annoying if the push then
fails.
|
|
|
|
|
|
|
|
| |
A previous change introduced the usage of pytest.param to our test
suite in commit 7aba0bfc906409073c4d246ec009a8622551726a.
This was only added to pytest 3.1.0, and the tests can't work with older
versions.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
| |
Having them there will allow overriding the user configuration (the
context) with the project configuration.
|
|
|
|
|
| |
There's no need to set a default value, then ignore a KeyError when we
can directly use dict.get().
|
|
|
|
| |
Note: original patch by Tristan Maat on MR !92, wording modified.
|
|
|
|
| |
This fixes a regression from 6691d0eb7e20c5872d7a5f439f308ae46019777f.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|