fix bug with transitive splice with dependency virtuals
This commit is contained in:
parent
e59901d1f4
commit
43c8bb9fa3
@ -4187,9 +4187,19 @@ def splice(self, other, transitive):
|
||||
for v in other.package.virtuals_provided
|
||||
if v in self or v in self.package.virtuals_provided
|
||||
]
|
||||
if transitive:
|
||||
virtuals_to_replace.extend([
|
||||
v.name
|
||||
for od in other.traverse(root=False)
|
||||
for v in od.package.virtuals_provided
|
||||
if v in self or v in self.package.virtuals_provided
|
||||
])
|
||||
|
||||
if virtuals_to_replace:
|
||||
deps_to_replace = dict((self[v], other) for v in virtuals_to_replace)
|
||||
deps_to_replace = {
|
||||
self[v]: (other[v] if v in other else other)
|
||||
for v in virtuals_to_replace
|
||||
}
|
||||
# deps_to_replace = [self[v] for v in virtuals_to_replace]
|
||||
else:
|
||||
# TODO: sanity check and error raise here for other.name not in self
|
||||
|
Loading…
Reference in New Issue
Block a user