| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
| |
This allows use of variables such as %{prefix} and matches the documentation.
To avoid breaking compatibility with older bst 1.x versions, it still accepts
paths without the leading slash.
based on 1ae1796854055f4b9e3202d9629e059b327f3a8d
Fixes #721
|
|\
| |
| |
| |
| | |
_downloadablefilesource.py: don't download the file if etag matches
See merge request BuildStream/buildstream!1838
|
|/
|
|
|
| |
Some servers don't honor the 'If-None-Match' header and send the file even with
matching etag
|
|\
| |
| |
| |
| | |
[BuildStream 1.4] Backport changes to enable Python 3.8
See merge request BuildStream/buildstream!1830
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Having a running asyncio loop while forking a program is not supported
in python and doesn't work as expected.
This leads to file descriptors leaking and the subprocesses sharing the
same loop as the parents. This also leads to the parent receiving all
signals the children receive.
This ensures we don't leek our asyncio loop in the workers we fork.
|
| | |
|
| |
| |
| |
| |
| | |
In Python 3.8, `ThreadedChildWatcher` is the default watcher that causes
issues with our scheduler. Enforce use of `SafeChildWatcher`.
|
| |
| |
| |
| |
| |
| |
| |
| | |
Per
https://docs.python.org/3/library/asyncio-policy.html#asyncio.AbstractChildWatcher.add_child_handler,
the callback from a child handler must be thread safe. Not all our
callbacks were. This changes all our callbacks to schedule a call for
the next loop iteration instead of executing it directly.
|
| |
| |
| |
| |
| |
| |
| |
| | |
The documentation
(https://docs.python.org/3/library/asyncio-policy.html#asyncio.AbstractChildWatcher)
is apparently missing this part, but the code mentions that new
processes should only ever be called inside a with block:
https://github.com/python/cpython/blob/99eb70a9eb9493602ff6ad8bb92df4318cf05a3e/Lib/asyncio/unix_events.py#L808
|
|/
|
|
|
|
|
|
|
|
|
| |
Using `join()` on the subprocess calls `waitpid()` under the hood
which breaks our child watcher.
Instead, schedule a task for 20 seconds later that will effectively
kill the tasks.
Note that the task will only be called if we still have active jobs.
Otherwise, it will just be skipped and we won't wait as long.
|
|\
| |
| |
| |
| | |
app.py: Also catch SystemError with click.Abort
See merge request BuildStream/buildstream!1701
|
|/
|
|
|
|
|
|
|
| |
This is to catch an error when sometimes the readline buffer of stdin
gets corrupted during the second CTRL-C we send, and leads to having
BuildStream hand and throw a SystemError.
Catching the SystemError and treating as a click.Abort doesn't seem
to have adverse effects.
|
|\
| |
| |
| |
| | |
plugins/elements/cmake.yaml: always specify variable types
See merge request BuildStream/buildstream!1549
|
|/
|
|
|
|
|
| |
cmake sometimes misinterprets relative paths as relative to the current directory
if this is not specified. See freedesktop-sdk/freedesktop-sdk#431
adjust tests/format/variables.py accordingly.
|
|\
| |
| |
| |
| | |
remove references to sdk.gnome.org
See merge request BuildStream/buildstream!1715
|
|/
|
|
| |
download from flathub instead, and update to 1.6 as flathub doesn't include 1.4
|
|\
| |
| |
| |
| | |
doc/source/install_linux_distro.rst: Update info
See merge request BuildStream/buildstream!1585
|
|/ |
|
|
|
|
|
|
| |
See https://docs.gitlab.com/ee/ci/examples/code_quality.html
Backported from 66664ddf14a40a0b29b7fb4f7f90ac10ef62f052
|
|\
| |
| |
| |
| | |
Update NEWS
See merge request BuildStream/buildstream!1579
|
|/
|
|
| |
[ci skip]
|
|\
| |
| |
| |
| | |
Update requirements for 1.4
See merge request BuildStream/buildstream!1578
|
| | |
|
| | |
|
| | |
|
|/
|
|
|
| |
Some dependencies need wheel to be installed before their installation
is started as it provides extra setup.py commands.
|
|\
| |
| |
| |
| | |
Prepare 1.4.0
See merge request BuildStream/buildstream!1575
|
| | |
|
| | |
|
| | |
|
|/ |
|
|\
| |
| |
| |
| | |
Support strict build dependencies (bst 1)
See merge request BuildStream/buildstream!1574
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| | |
This is in order to keep the door open to allowing the project.conf
set the default of dependency 'strict'-ness which might be useful
for projects which use mostly static linking and the like, in which
case we can later interpret explicitly non-strict dependencies
as an override of the project default.
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This tests that the target which depends on a common dependency
strictly in non strict mode needs to be rebuilt after this common
dependency changes, while it is not the case when depending on the
same common target non strictly.
This is a regression test for #254
|
| | |
|
| |
| |
| |
| |
| |
| | |
This adds documentation on the new keyword `strict` in dependency
declarations, and adds a link to the strict mode user config
section.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This patch allows specifying a dependency as `strict`, e.g.:
build-depends:
- filename: element.bst
strict: true
This allows finer tuning of projects which want to leverage
the non-strict build mode; dependencies which are statically
linked to, or who's content is otherwise included verbatim in
the resulting output, should be marked `strict` to ensure these
bits get reassembled if necessary when building in non-strict
mode.
This fixes #254
Change summary:
o _loader/types.pyx: Added 'strict' attribute to Dependency
and do the parsing work.
o _loader/metaelement.py: Added 'strict_dependencies' list
o _loader/loader.py: Resolve the 'strict_dependencies' list
o element.py: Added __strict_dependencies list, and use this
to conditionally use weak cache keys in place of names for
the purpose of building the weak cache key (in the case of
dependencies which are marked as strict).
|
|/
|
|
|
|
|
|
| |
As discussed with Jürg on gitlab[0], it makes more sense to store the
recursive element names and record the shape of the dependencies for
non strict cache keys as well as strict ones.
[0]: https://gitlab.com/BuildStream/buildstream/merge_requests/1542#note_205598556
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This reverts commit 08ead05bbe24a6de94e26b1121e5aa8dd341f691.
This commit was introduced to fix #1097, however it appears to not
be needed anymore after e48a03b2b226f1748edf5c2d5e28093da7ca6a1a which
uses a newer version of bst-external.
However, moving to fedora-30 runtime DID introduce a regression with
the ostree plugin, causing out-of-sync error messages to consistently
occur whenever fetching an ostree source.
Reverting to the old debian 9 docker image appears to fix the
ostree installation to work, fixing the afore mentioned regression
outlined in issue #1098.
This fixes #1098.
|
| |
|
|
|
|
| |
[ci skip]
|
|
|
|
| |
This reverts commit 7f73c0dd2eae616a719d2bee68135f96a0df52bd.
|
| |
|
|
|
|
| |
Fixes #1097
|
| |
|
| |
|
|\
| |
| |
| |
| | |
Backport some misc fixes (bst-1)
See merge request BuildStream/buildstream!1517
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Fixes the configurable warning part of this to properly link
to the project.conf documentation describing what configurable
warnings actually are.
Also fix the plugin raise the actual configurable warning which
it advertizes that it raises; which is 'inconsistent-submodule',
not 'inconsistent-submodules'.
|