Explorar o 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 %!s(int64=7) %!d(string=hai) anos
pai
achega
2fbfbc4de1
Modificáronse 1 ficheiros con 14 adicións e 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
 }