Forráskód Böngészése

Fix duplicate packages when printing dependencies

e01c4b396992f8505b1087691c13f918ba170ced made some bad assumptions.
Removing the aliases caused packages to not installed when required only
through provides and not their package name. This fixes that by
re enabling the aliases and simply removing duplicates at the end.
morganamilo 7 éve
szülő
commit
2fbfbc4de1
1 módosított fájl, 14 hozzáadás és 0 törlés
  1. 14 0
      dependencies.go

+ 14 - 0
dependencies.go

@@ -99,6 +99,20 @@ func getDepCatagories(pkgs []string, dt *depTree) (*depCatagories, error) {
 		})
 	}
 
+	dupes := make(map[*alpm.Package]struct{})
+	filteredRepo := make([]*alpm.Package, 0)
+
+	for _, pkg := range dc.Repo {
+		_, ok := dupes[pkg]
+		if ok {
+			continue
+		}
+		dupes[pkg] = struct{}{}
+		filteredRepo = append(filteredRepo, pkg)
+	}
+
+	dc.Repo = filteredRepo
+
 	return dc, nil
 }