| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
When extracting files from a base directory, we are normalizing
the TarInfo file names so we need to also normalize the link names
in the case of links and symlinks.
Fixes issue #155
|
|
|
|
| |
This reproduces issue #155
|
|
|
|
|
|
|
| |
Now that recurse is a mandatory keyword argument, the docs
should also reflect this; this must be done manually because
we override the signature here in the docstring, to hide some
private arguments.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
The 'result' field is optional, and currently used only by the internals
of {copy,move,link}_files. I think it makes sense to mandate that it's
called as a keyword arg in future.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
It is functionally similar to dict.get() and fulfills the same role, so
it should be used that way.
|
|
|
|
|
| |
Since the 'recurse' arg is a boolean, using it as an argument without a
keyword is likely to cause confusion.
|
|
|
|
|
| |
The arguments are optional, and none of the arguments depend on each
other, meaning that they do not make sense as optional positional arguments.
|
|
|
|
|
|
|
| |
When reading element.py, I was surprised that it was importing
'inspect'.
Remove that import and some other unused ones to improve readability.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
BuildStream made the choice to unconditionally run the autogen step for
autotools elements, even when building from tarballs.
However, due to how the conditionals for what to do in that step were
set up, some tarballs would fall through the crack and effectively skip
that step.
For example the Python tarballs and VCS checkouts both:
* do not have an autogen/autogen.sh script
* do not have a bootstrap/bootstrap.sh script
* do have a configure script
The conditionals we had before this change would not do anything for a
project like that, and the first thing to actually be run would be the
configure script.
With this change, `autoreconf` gets run whether the configure script
exists or not, ensuring we always effectively do the autogen step.
More details on the mailing-list:
https://mail.gnome.org/archives/buildstream-list/2017-November/msg00015.html
|
|
|
|
|
|
|
|
|
|
|
|
| |
This changes workspaces created with the git source element so that the
origin remote points to the source repository of the build element as
opposed to the internal repository in the bst cache.
This introduces an addition of the init_workspace method in the source
API. This method, which defaults to calling stage, is for the setup of
the workspace after the creation of the workspace directory.
This is a part of issue #53
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
I noticed this issue when running `bst track` on a system that contained
GLIBC. The following error occurred:
[--:--:--] START [gnu-toolchain/stage2-glibc.bst]: Tracking release/2.25/master from git://git.baserock.org/delta/glibc
Running host command /home/fedora/src/baserock/definitions/.cache/buildstream/sources/git/git___git_baserock_org_delta_glibc: /usr/bin/git fetch origin
[--:--:--] STATUS [gnu-toolchain/stage2-glibc.bst]: Running host command
/usr/bin/git fetch origin
error: cannot lock ref 'refs/heads/hjl/memcpy/dpdk/master': 'refs/heads/hjl/memcpy' exists; cannot create 'refs/heads/hjl/memcpy/dpdk/master'
From git://git.baserock.org/delta/glibc
! [new branch] hjl/memcpy/dpdk/master -> hjl/memcpy/dpdk/master (unable to update local ref)
error: cannot lock ref 'refs/heads/hjl/x86/master': 'refs/heads/hjl/x86' exists; cannot create 'refs/heads/hjl/x86/master'
! [new branch] hjl/x86/master -> hjl/x86/master (unable to update local ref)
error: cannot lock ref 'refs/heads/hjl/x86/math': 'refs/heads/hjl/x86' exists; cannot create 'refs/heads/hjl/x86/math'
! [new branch] hjl/x86/math -> hjl/x86/math (unable to update local ref)
error: cannot lock ref 'refs/heads/hjl/x86/optimize': 'refs/heads/hjl/x86' exists; cannot create 'refs/heads/hjl/x86/optimize'
! [new branch] hjl/x86/optimize -> hjl/x86/optimize (unable to update local ref)
error: some local refs could not be updated; try running
'git remote prune origin' to remove any old, conflicting branches
git source at gnu-toolchain/stage2-glibc.bst [line 4 column 2]: Failed to fetch from remote git repository: git://git.baserock.org/delta/glibc
The issue here is that my local clone had old remote-tracking refs which
conflicted with newer upstream refs. For example, there used to be a ref
named `hlj/memcpy` which I had mirrored locally. This has been deleted
and now a ref exists named `hlj/memcpy/dpdk/master`. The new ref cannot
be pulled because Git considers it to conflict with the old one.
The solution is to use `git fetch --prune` when updating so that Git
removes any outdated remote-tracking refs before trying to create any
new ones.
|
|
|
|
|
|
|
|
|
|
| |
Consequently:
o Changed Plugin.get_context() to a private Plugin._get_context() accessor.
o Updated anything which imports Context to do so from private _context module
o Updated docs to exclude the now private Context
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
I found myself writing the following split rules for an element:
public:
bst:
split-rules:
runtime:
(=): []
devel:
(>):
- |
%{bindir}/*
The aim was to put all of this element's binaries into the 'devel'
domain, and make sure nothing went into the 'runtime' domain by
replacing the built-in rules for that domain with an empty list.
That wasn't working though because BuildStream was using [] (empty list)
as a sentinel to mean "do nothing", which is fine for the prepend and
append operators (prepending an empty list to a list has no effect) but
is not really correct for the overwrite operator.
This commit fixes that issue and adds a test.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
We need to canonicalize the path using the `realpath -m` or
`realpath --canonicalize-missing`, otherwise if the directory doesn't
exist we get an error:
realpath: /tmp/foo/bar/: No such file or directory
The tests still work if this happens but the sources go into the
default location because the BST_SOURCE_CACHE variable goes unset.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This required adding two new APIs to make up for it on the Source
o get_project_directory()
Added here because elements should not be accessing external
resources, Sources needed for local files and GPG keys and such
o translate_url()
Used by sources to mish-mash the project aliases and create
real urls.
|
| |
|
| |
|
| |
|
|
|
|
|
| |
Disambiguate with the Mount and MountMap classes, which were
accidentally added to public API.
|
| |
|
| |
|
|
|
|
|
|
| |
Base class for exceptions is now a part of the already private _exceptions module
Also moved PipelineError from _pipeline -> _exceptions module
|
|
|
|
| |
This is now part of the already private _exceptions module
|
|
|
|
| |
Hide all of buildstream's internal exceptions from the API surface.
|
|
|
|
|
|
|
|
|
|
| |
create SandboxError
These errors are a part of public facing API, and the exceptions
module contains a lot of internal details to be hidden from public API.
This move required creating SandboxError because sandbox related
code had previously been hijacking the ElementError and raising that.
|
|
|
|
|
|
| |
Also, restructured a bit to match tar source, there was never
any need for the `dirs_only` parameter for listing the archive
paths, the source is only interested in directories anyway.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
This does not test much more than the regular frontend tests
against the bzr source, and was presenting difficulty to migrate
to the proper new CLI fixtures.
This was also the last source test using the older deprecated fixture.
|
| |
|