浏览代码

Install repo deps for aur packages at the start

Install all deps for aur packages after the user confirms they want to
continue installing. This takes most of the load off of makepkg -s but
the -s is still left in for some edge cases with split packages.
morganamilo 7 年之前
父节点
当前提交
e61263ff96
共有 1 个文件被更改,包括 24 次插入0 次删除
  1. 24 0
      install.go

+ 24 - 0
install.go

@@ -84,6 +84,30 @@ func install(parser *arguments) error {
 		if !continueTask("Proceed with install?", "nN") {
 			return fmt.Errorf("Aborting due to user")
 		}
+
+		if len(dc.RepoMake) + len(dc.Repo) > 0 {
+			arguments := parser.copy()
+			arguments.delArg("u", "sysupgrade")
+			arguments.delArg("y", "refresh")
+			arguments.op = "S"
+			arguments.targets = make(stringSet)
+			arguments.addArg("needed", "asdeps")
+			for _, pkg := range dc.Repo {
+				arguments.addTarget(pkg.Name())
+			}
+			for _, pkg := range dc.RepoMake {
+				arguments.addTarget(pkg.Name())
+			}
+
+			oldConfirm := config.NoConfirm
+			config.NoConfirm = true
+			passToPacman(arguments)
+			config.NoConfirm = oldConfirm
+			if err != nil {
+				return err
+			}
+		}
+
 		// if !continueTask("Proceed with download?", "nN") {
 		// 	return fmt.Errorf("Aborting due to user")
 		// }