Explorar el Código

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 hace 7 años
padre
commit
2fbfbc4de1
Se han modificado 1 ficheros con 14 adiciones y 0 borrados
  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
 }