-
c2c10d68
by Daniel Silverstone
at 2019-02-14T13:02:07Z
Cache Keys: Update to use JSON rather than pickle
This affects the cache key version (updated to 7) and introduces
a dependency on `ujson` which is BSD licenced as of the version
locked in `requirements.txt`
Signed-off-by: Daniel Silverstone <daniel silverstone codethink co uk>
-
868c057e
by Tristan Van Berkom
at 2019-02-14T13:58:39Z
Merge branch 'danielsilverstone-ct/json-cache-key' into 'master'
Update cache keys to use JSON
See merge request BuildStream/buildstream!1151
-
ace15fa6
by Benjamin Schubert
at 2019-02-14T14:04:45Z
Don't keep MetaSource around in Source
We can easily rebiuld MetaSource from any source so there is no
reason to keep them around.
This will slightly improve memory usage.
-
174f5394
by Tristan Van Berkom
at 2019-02-14T15:04:27Z
Merge branch 'bschubert/dont-keep-metasource' into 'master'
Don't keep MetaSource around in Source
See merge request BuildStream/buildstream!1150
-
e7e4086e
by Jürg Billeter
at 2019-02-14T15:05:38Z
utils.py: Change _ensure_real_directory() to not resolve symlinks
Resolving symlinks during staging causes various issues:
* Split rules may not work properly as the resolved paths will differ
depending on whether another artifact with a directory symlink has
been staged in the same root directory or not, e.g., as part of
compose.
* The order of symlinks in file lists is difficult to get right to
guarantee consistent and predictable behavior as paths in a file list
might rely on symlinks in the same file list. See #647 and #817.
* Staging order differences can lead to surprising results. See #390.
* Difficult to properly support absolute symlinks. Absolute symlinks are
currently converted to relative symlinks, however, this doesn't always
work. See #606 and #830.
This will require changes in projects that rely on the current behavior.
However, the changes are expected to be small and are often a sign of
buggy element files. E.g., elements that don't fully obey `bindir` or
`sbindir` variables.
-
c0570871
by Jürg Billeter
at 2019-02-14T15:05:38Z
_casbaseddirectory.py: Do not resolve symlinks
This matches the change in utils._process_list().
This also removes the _Resolver class as it is now unused. We may want
to support controlled symlink resolution in the future, in which case
the _Resolver class can be resurrected from this commit.
-
55bccf63
by Jürg Billeter
at 2019-02-14T15:05:38Z
utils.py: Do not mangle absolute symlinks
Copy symlinks as they are, absolute or relative. We no longer resolve
symlinks when copying files, which makes this safe.
-
94c6d59b
by Jürg Billeter
at 2019-02-14T15:05:38Z
Bump artifact version for changes in symlink handling
-
949962f8
by Jürg Billeter
at 2019-02-14T15:05:38Z
NEWS: Add entry for change in symlink handling
-
56c07baa
by Jürg Billeter
at 2019-02-14T16:08:42Z
Merge branch 'juerg/symlinks2' into 'master'
Do not resolve or mangle symlinks during staging
See merge request BuildStream/buildstream!1140
-
69520011
by Chandan Singh
at 2019-02-15T06:58:27Z
contrib/bst-graph: Add script to print graph in DOT format
This script leverages the recently added format strings
(`%{build-deps}`, `%{runtime-deps}`) to `bst show` to print a graph in
DOT format. This requires users to have the `graphviz` python package
installed.
Additionally, users can also render the graph using the `--format`
option if they have the `graphviz` command line tool installed.
-
51dae747
by Chandan Singh
at 2019-02-15T08:50:21Z
Merge branch 'chandan/dot-graph' into 'master'
contrib/bst-graph: Add script to print graph in DOT format
Closes #705
See merge request BuildStream/buildstream!1148
-
817542b1
by Angelos Evripiotis
at 2019-02-15T10:32:18Z
userconfig: rm really-workspace-close-project-inaccessible
Remove the need for the 'really-workspace-close-project-inaccessible'
config option, as well as the option itself.
As agreed on the mailing list [1], all the 'are you sure?' prompts on
workspace reset and close were removed. While that discussion was going
on, this new prompt and option was added. At the 2019 BuildStream
Gathering, it was verbally agreed between myself and Tristan VB that we
would also remove this instance.
It was also agreed that we should have a notice to let the user know
what they'd done, this was already in place if interactive. Moved it to
be unconditional so that there's no difference in non-interactive
behaviour. Made it output to stderr, as it's diagnostic meant for the
user. Made it the last thing echo'd so it's next to the prompt - it's
very relevant to what they type next. Added a test to make sure the text
makes it to stderr in the appropriate case, and not in an inappropriate
one.
This is the last instance of any prompt configuration, so BuildStream
can also forget all of that machinery.
[1] https://mail.gnome.org/archives/buildstream-list/2018-December/msg00111.html