| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
Issue #446
|
|
|
|
|
|
| |
'a.bst:b.bst' gets interpreted as 'b.bst' from junction 'a.bst'.
Part of #359.
|
|
|
|
|
|
| |
Leave this error to be handled by preflight.
Updated test case to expect the new ElementError instead of a LoadError
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
o Ensure that we call Source._load_ref(), and consider project.refs this way
o Ensure that we report a warning in the case that project.refs is in use
and the loaded junction source has a redundant ref which is going to
be ignored
o Report more distinct machine readable errors for failures to load
junction element sources
o Handle Consistency.INCONSISTENT and Consistency.RESOLVED separately:
- The user should be told something different depending on whether
they need to fetch or whether they need to track.
- It is never possible to automatically fetch the source in the
case that the source has no ref to begin with.
This also adjusts the test/loader/junctions.py test to expect the new error
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
And adjust all surrounding sources for changed symbols.
Additional details:
o Added Project.get_shell_config() to report the shell configuration,
instead of making those members all public
o Moved assertions about project specified format versions required
of plugins out of Plugin.__init__, and into Project.create_element()
and Project.create_source(), so we can keep more things private
This is a part of issue #285
|
| |
|
|
|
|
| |
Project access will be required for junctions.
|
|
|
|
| |
Hide all of buildstream's internal exceptions from the API surface.
|
| |
|
| |
|
| |
|
|
|
|
|
| |
This had changed when we added project variants and had to split
up the loading steps a bit, now all is back to normal without variants.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
Both for when depending on a toplevel with variants, or when
ambivalently depending on an element with variants.
|
|
|
|
| |
invalid variant requests
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This command adds initial cross-compilation support to BuildStream.
It has been tested against a converted version of the Baserock
compiler bootstrap and used to cross build sysroots for armv8l64 and ppc64l
from an x86_64 host.
For example, to build a sysroot for ARM v8 64-bit you can do this:
bst build --target-arch=armv8b64 gnu-toolchain/stage2.bst
This would cause the adapted Baserock definitions to produce a stage1 simple
cross compiler that runs on the native architecture and produces armv8b64
binaries, and then cross build a stage2 sysroot that executes on armv8b64.
Currently the --host-arch option does nothing of use. It will one day
enable host-incompatible builds using a QEMU-powered cross sandbox.
The `--arch=` option is now shorthand for `--host-arch= --target-arch=`.
Elements have 2 new variables available, %{bst-host-arch} and
%{bst-target-arch}. The 'arches' conditional now follows %{bst-target-arch},
while the new 'host-arches' conditional follows %{bst-host-arch}. All
of --arch, --host-arch and --target-arch default to the output of `uname -a`.
There's no magic here that would make all BuildStream elements suddenly
able to cross compile. It is up to an individual element to support this by
honouring %{bst-target-arch} in whatever way makes sense.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
o The metaelements and metasources now carry the name, the loader
resolves source names now.
o Element/Source factories dont require a name anymore as they
are already in the meta objects
o Pipeline no longer composes names
o Element.name is now the original project relative filename,
this allows plugins to identify that name in their dependencies,
allowing one to express configuration which identifies elements
by the same name that the user used in the dependencies.
o Removed plugin._get_display_name() in favor of the plugin.name
o Added Element.normal_name, for the cases where we need to have
a normalized name for creating directories and log files
o Updated frontend and test cases and all callers to use the
new naming
|
|
|
|
|
| |
Now element names contain the full element path and unique
element basenames are no longer a requirement.
|
|
|
|
|
| |
Stacks should still exist but they are purely an element
implementation detail.
|
| |
|
|
|
|
|
| |
Expect LoadError with ILLEGAL_COMPOSITE when trying to override
a value in a variant with an incorrect type.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
o Tests for basic file loading
o Tests for include directive functionality
o Tests for resolution of arch conditionals
o Tests for dependency resolution and detecting circular dependencies
o Tests for variants, ensures that we have the correct variant conflict errors
and that the correct variants are chosen in the correct cases
o Tests for stacks, test that stacks with embedded elements unwrap properly
into the concrete dependency tree, test for internal stack circular dependencies,
test that arch conditionals and variant conditionals work inside stacks including
with embedded elements
Lots of tests
|