-
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
-
d3b7728a
by Jürg Billeter
at 2019-02-14T14:15:53Z
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.
-
9bf50fe4
by Jürg Billeter
at 2019-02-14T14:15:53Z
_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.
-
4c3fd945
by Jürg Billeter
at 2019-02-14T14:15:53Z
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.
-
4c725325
by Jürg Billeter
at 2019-02-14T14:18:36Z
Bump artifact version for changes in symlink handling
-
4c7ebfcf
by Jürg Billeter
at 2019-02-14T14:18:38Z
NEWS: Add entry for change in symlink handling