Skip to content

Give better warnings on overlaps

If two or more artifacts contain files in the same path, only one of them can be installed in the sandbox.

BuildStream will warn when staging overlapping dependencies in the sandbox with a warning like this:

Staged files overwrite existing files in staging area:

From gnu-toolchain/gawk.bst:
  /usr/bin/awk

This tells you where the new version /usr/bin/awk comes from, but it doesn't tell you which old versions are being overwritten.

We should produce output like this instead:

Staged files overwrite existing files in staging area:

From gnu-toolchain/gawk.bst:
  /usr/bin/awk (overwriting version from gnu-toolchain/stage2-gawk.bst)

There may be more than 2 conflicting versions of the file, so we should mention that too:

Staged files overwrite existing files in staging area:

From gnu-toolchain/gawk.bst:
  /usr/bin/awk (overwriting version from gnu-toolchain/stage2-gawk.bst and gnu-toolchain/stage1-gawk.bst)
Edited by Sam Thursfield
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information