summaryrefslogtreecommitdiff
path: root/etc
diff options
context:
space:
mode:
authorHarmen Stoppels <me@harmenstoppels.nl>2024-02-03 11:05:45 +0100
committerGitHub <noreply@github.com>2024-02-03 11:05:45 +0100
commitc44e854d05de6b4cea4736546317748d05e5d833 (patch)
treeecfa390971cdb2ba40c9a26c75ecb3113c4d8c44 /etc
parent8fa8dbc26998bf5bd23b096b522e4d6258e9e75d (diff)
downloadspack-c44e854d05de6b4cea4736546317748d05e5d833.tar.gz
spack-c44e854d05de6b4cea4736546317748d05e5d833.tar.bz2
spack-c44e854d05de6b4cea4736546317748d05e5d833.tar.xz
spack-c44e854d05de6b4cea4736546317748d05e5d833.zip
Environment views: dependents before dependencies, resolve identical file conflicts (#42350)
Fix two separate problems: 1. We want to always visit parents before children while creating views (when it comes to ignoring conflicts, the first instance generated in the view is chosen, and we want the parent instance to have precedence). Our preorder traversal does not guarantee that, but our topological- order traversal does. 2. For copy style views with packages x depending on y, where <x-prefix>/foo is a symlink to <y-prefix>/foo, we want to guarantee that: * A conflict is not registered * <y-prefix>/foo is chosen (otherwise, the "foo" symlink would become self-referential if relocated relative to the view root) Note that * This is an exception to [1] (in this case the dependency instance overrides the dependent) * Prior to this change, if "foo" was ignored as a conflict, it was possible to create this self-referential symlink Add tests for each of these cases
Diffstat (limited to 'etc')
0 files changed, 0 insertions, 0 deletions