Loading
Commits on Source 13
-
Daniel Silverstone authored
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>
-
Tristan Van Berkom authored
Update cache keys to use JSON See merge request !1151
-
Benjamin Schubert authored
We can easily rebiuld MetaSource from any source so there is no reason to keep them around. This will slightly improve memory usage.
-
Tristan Van Berkom authored
Don't keep MetaSource around in Source See merge request !1150
-
Jürg Billeter authored
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.
-
Jürg Billeter authored
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.
-
Jürg Billeter authored
Copy symlinks as they are, absolute or relative. We no longer resolve symlinks when copying files, which makes this safe.
-
Jürg Billeter authored
-
Jürg Billeter authored
-
Jürg Billeter authored
Do not resolve or mangle symlinks during staging See merge request !1140
-
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. -
Chandan Singh authored
contrib/bst-graph: Add script to print graph in DOT format Closes #705 See merge request !1148
-
Change the default value of mtime when doing export_to_tar() from `0` to `_utils._magic_timestamp`. This avoids problems in other software, which assume that an mtime of `0` means the file does not exist. There is more than one example where files with an mtime of zero are treated as non-existant by other software. e.g. [ninja][1] and [Template Toolkit][2]. The OSTree project also [express an intention][3] to move from an mtime of 0 to an mtime of 1: > For this reason, OSTree acts as though all timestamps are set to > time_t 0, so that comparisons will be considered up-to-date. Note that > for a few releases, OSTree used 1 to fix warnings such as GNU Tar > emitting "implausibly old time stamp" with 0; however, until we have a > mechanism to transition cleanly to 1, for compatibilty OSTree is > reverted to use zero again. From the comments on export_to_tar(), the motivation for having an mtime of 0 was to have reproducible results, rather than it specifically being the value 0. Additionally, the reproducible builds project has a [page on archives][4]; it mentions the benefits of setting all the files to have the same mtime, or clamping the mtime. It makes no mention of a motivation for the mtime to be specifically 0. Fixes #914 [1]: https://github.com/ninja-build/ninja/issues/1120 [2]: https://github.com/abw/Template2/blob/8d7d37200af436f1ad43628278d3caad257c8e27/lib/Template/Provider.pm#L635 [3]: https://ostree.readthedocs.io/en/latest/manual/repo/ [4]: https://reproducible-builds.org/docs/archives/