Fixups to ExpandedRevdeps

This commit is contained in:
Ettore Di Giacinto 2020-04-24 00:15:18 +02:00
parent 8305d01e76
commit a457c53824
No known key found for this signature in database
GPG Key ID: 1ADA699B145A2D1C

View File

@ -424,6 +424,7 @@ func (p *DefaultPackage) ExpandedRevdeps(definitiondb PackageDatabase, visited m
if _, ok := visited[p.HumanReadableString()]; ok { if _, ok := visited[p.HumanReadableString()]; ok {
return versionsInWorld return versionsInWorld
} }
visited[p.HumanReadableString()] = true
for _, w := range definitiondb.World() { for _, w := range definitiondb.World() {
if w.Matches(p) { if w.Matches(p) {
@ -436,7 +437,7 @@ func (p *DefaultPackage) ExpandedRevdeps(definitiondb PackageDatabase, visited m
match = true match = true
} }
if !match { if !match {
}
packages, _ := re.Expand(definitiondb) packages, _ := re.Expand(definitiondb)
for _, pa := range packages { for _, pa := range packages {
if pa.Matches(p) { if pa.Matches(p) {
@ -445,12 +446,20 @@ func (p *DefaultPackage) ExpandedRevdeps(definitiondb PackageDatabase, visited m
} }
} }
// if ok, _ := w.RequiresContains(definitiondb, p); ok {
}
if match { if match {
versionsInWorld = append(versionsInWorld, w) versionsInWorld = append(versionsInWorld, w)
versionsInWorld = append(versionsInWorld, w.ExpandedRevdeps(definitiondb, visited)...)
visited[w.HumanReadableString()] = true versionsInWorld = append(versionsInWorld, w.ExpandedRevdeps(definitiondb, visited).Unique()...)
} }
// }
} }
//visited[p.HumanReadableString()] = true
return versionsInWorld.Unique() return versionsInWorld.Unique()
} }