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

Change getNameFromDep to allow getting the dep too

morganamilo 7 éve
szülő
commit
47bb527a1b
1 módosított fájl, 15 hozzáadás és 8 törlés
  1. 15 8
      dependencies.go

+ 15 - 8
dependencies.go

@@ -44,10 +44,16 @@ func makeDependCatagories() *depCatagories {
 }
 
 // Cut the version requirement from a dependency leaving just the name.
-func getNameFromDep(dep string) string {
-	return strings.FieldsFunc(dep, func(c rune) bool {
+func splitNameFromDep(dep string) (string, string) {
+	split :=  strings.FieldsFunc(dep, func(c rune) bool {
 		return c == '>' || c == '<' || c == '='
-	})[0]
+	})
+
+	if len(split) == 1 {
+		return split[0], ""
+	}
+
+	return split[0], split[1]
 }
 
 //split apart db/package to db and package
@@ -106,7 +112,7 @@ func getDepCatagories(pkgs []string, dt *depTree) (*depCatagories, error) {
 
 	for _, pkg := range pkgs {
 		_, name := splitDbFromName(pkg)
-		dep := getNameFromDep(name)
+		dep, _ := splitNameFromDep(name)
 		alpmpkg, exists := dt.Repo[dep]
 		if exists {
 			repoDepCatagoriesRecursive(alpmpkg, dc, dt, false)
@@ -187,7 +193,7 @@ func depCatagoriesRecursive(_pkg *rpc.Pkg, dc *depCatagories, dt *depTree, isMak
 	for _, pkg := range dc.Bases[_pkg.PackageBase] {
 		for _, deps := range [3][]string{pkg.Depends, pkg.MakeDepends, pkg.CheckDepends} {
 			for _, _dep := range deps {
-				dep := getNameFromDep(_dep)
+				dep, _ := splitNameFromDep(_dep)
 
 				aurpkg, exists := dt.Aur[dep]
 				if exists {
@@ -355,8 +361,9 @@ func depTreeRecursive(dt *depTree, localDb *alpm.Db, syncDb alpm.DbList, isMake
 	nextProcess := make(stringSet)
 	currentProcess := make(stringSet)
 	// Strip version conditions
-	for dep := range dt.ToProcess {
-		currentProcess.set(getNameFromDep(dep))
+	for _dep := range dt.ToProcess {
+		dep, _ := splitNameFromDep(_dep)
+		currentProcess.set(dep)
 	}
 
 	// Assume toprocess only contains aur stuff we have not seen
@@ -390,7 +397,7 @@ func depTreeRecursive(dt *depTree, localDb *alpm.Db, syncDb alpm.DbList, isMake
 		// for each dep and makedep
 		for _, deps := range [3][]string{pkg.Depends, pkg.MakeDepends, pkg.CheckDepends} {
 			for _, versionedDep := range deps {
-				dep := getNameFromDep(versionedDep)
+				dep, _ := splitNameFromDep(versionedDep)
 
 				_, exists = dt.Aur[dep]
 				// We have it cached so skip.