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