| 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
|
|
|
|
|
|
|
| |
We now delay refreshing submodules until we have a clone, that is after
we have fetched the main fetcher.
Fixes #537
|
|
|
|
| |
Format version raised because of a change to the core element format.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Stream._load() now returns early without resolving build pipeline when
only tracking. Resolving track pipelines does not require to fully
load project configurations when when elements to track are only
junctions.
However build pipelines require to fully load project
configurations. This might not be possible in the case a project
configuration includes a file from a junction that yet needs to be
tracked.
Fixes #565.
|
| |
|
|
|
|
|
| |
Staging could end-up with file with different rights depending on the
umask. The extracted files need to get their access rights fixed.
|
|
|
|
|
|
| |
This fix is applied to plugins bzr, git, patch.
Fixes #543 #544 #555.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Instead of copying metadata on files staged by local, we manually set
mode to 0755 or 0644 depending on whether user execution was enabled
on source file.
This makes file modes deterministic independently on the way source
was distributed.
Non-deterministic mode copying all metadata can still be enabled by
disable 'deterministic' Boolean configuration on the plugin.
Fixes #527.
|
|
|
|
| |
Fixes #498
|
|
|
|
|
|
|
| |
This fixes #191
A note has been added to NEWS explaining backwards
compatibility issues
|
|
|
|
|
|
| |
even if the machine have mores cores available
Patch taken from YBD: https://gitlab.com/baserock/ybd/blob/master/ybd/app.py#L227
|
|
|
|
|
|
|
|
|
| |
Multiprocessing with n_jobs given by multiprocessing.cpu_count() is not optimal for
systems where not all CPU can be used (in particular, Docker, CI etc).
As suggested in the multiprocessing docs
(http://docs.python.org/3/library/multiprocessing.html#multiprocessing.cpu_count)
using len(os.sched_getaffinity(0)) might be better.
|
|
|
|
|
|
|
|
|
|
| |
When open(2) is used with flags O_CREAT|O_RDWR, the file descriptor
must be readable. Unfortunately O_RDWR was not passed which made
read fail with EBADF and mmap to signal SIGBUS.
This issue happened with man-db for example.
Fixes #143.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The CAS uses a temp directory while manipulating the cache, temporary
files can be added and removed while adding artifacts to the cache here.
Since calculation of the cache size happens in parallel to artifact
cache additions, this causes race conditions in the size calculation
job, as we end up calling `stat` on temporary files which are being
removed in parallel.
Handle this by moving the temporary directory out of the way, and avoid
considering the tmp directory when calculating the cache size
|
|
|
|
|
|
| |
Do not rely on `StopIteration` bubbling up.
https://www.python.org/dev/peps/pep-0479/
|
|
|
|
|
| |
This is to address https://gitlab.com/BuildStream/buildstream/issues/471 that
documented unhelpfull behavour when tracking git sources.
|
|
|
|
|
|
|
|
|
|
| |
Add an optional flag to make files executable after having downloaded them.
Instead of leaving the permissioning of downloaded file in remote.py up
to the user's umask; expressly set permissions to 0644 or 0755 if
executable.
Bump format version to 13.
|
|
|
|
|
|
| |
Improve fetchers, builders and pushers documentation.
Closes #550.
|
|
|
|
|
|
| |
installing
This is needed to build docs without installing BuildStream.
|
|
|
|
| |
Fix small error in docs in relation to `get_variable` documentation.
|
|
|
|
| |
Fixes #331.
|
| |
|
| |
|
|
|
|
|
| |
This is required to be able to build a Loader before the list
of targets is known.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
The autotools example had to be copied over inside of the junction
example, as referring to a path outside of the project directory is
now disallowed.
|
|
|
|
|
|
|
|
| |
A project path is a path relative to a project directory.
A project path can not also refer to the parent directory in the first
path component, or point to symbolic links, fifos, sockets and
block/character devices.
|
| |
|
|
|
|
|
| |
Trying to checkout an element that has no cached artifacts should be and
handled failure. See BuildStream/buildstream#447.
|
| |
|
| |
|
|
|
|
|
|
|
| |
This will need more attention when we bring in another virtual
directory backend, however, we've said it is acceptable for the
sandbox itself to access the underlying directory, and this is
the best fix in the meantime.
|
| |
|
| |
|
| |
|
|
|
|
|
| |
sandbox/_mount.py, sandbox/_sandboxbwrap.py:
Remove instances of get_directory
|
| |
|
| |
|
| |
|
|
|
|
|
| |
This removes _add_directory_to_tarfile since it is now implemented in
_filebaseddirectory.py.
|
| |
|
| |
|
|
|
|
|
|
| |
buildstream/storage/Directory.py: New file.
buildstream/storage/_filebaseddirectory.py: New file.
buildstream/_exceptions.py: New VIRTUAL_FS exception source.
|
|
|
|
|
|
|
|
| |
This is to allow to allow its use by subclasses.
Since access to get_directories is now blocked for some plugins,
and the subclasses of Sandbox do not have configuration defined
by YAML files, they need another way to get at the root directory.
|
|
|
|
|
| |
magic_timestamp is moved into file scope so other classes
can use it.
|
| |
|