Explorar o código

Merge pull request #481 from Morganamilo/hidemessage

Pass to pacman when there's no AUR packages
Anna %!s(int64=7) %!d(string=hai) anos
pai
achega
09ad692864
Modificáronse 1 ficheiros con 97 adicións e 102 borrados
  1. 97 102
      install.go

+ 97 - 102
install.go

@@ -104,18 +104,21 @@ func install(parser *arguments) error {
 	if err != nil {
 		return err
 	}
+	
+	if len(dp.Aur) == 0 {
+		parser.delArg("y", "refresh")
+		return passToPacman(parser)
+	}
+
+	if len(dp.Aur) > 0 && 0 == os.Geteuid() {
+		return fmt.Errorf(bold(red(arrow)) + " Refusing to install AUR Packages as root, Aborting.")
+	}
 
 	err = dp.CheckConflicts()
 	if err != nil {
 		return err
 	}
 
-	hasAur := len(dp.Aur) > 0
-
-	if hasAur && 0 == os.Geteuid() {
-		return fmt.Errorf(bold(red(arrow)) + " Refusing to install AUR Packages as root, Aborting.")
-	}
-
 	do = getDepOrder(dp)
 	if err != nil {
 		return err
@@ -134,99 +137,95 @@ func install(parser *arguments) error {
 		return nil
 	}
 
-	if hasAur {
-		hasAur = len(do.Aur) != 0
+	do.Print()
+	fmt.Println()
 
-		do.Print()
-		fmt.Println()
+	if do.HasMake() {
+		if !continueTask("Remove make dependencies after install?", "yY") {
+			removeMake = true
+		}
+	}
 
-		if do.HasMake() {
-			if !continueTask("Remove make dependencies after install?", "yY") {
-				removeMake = true
-			}
+	if config.CleanMenu {
+		askClean := pkgbuildNumberMenu(do.Aur, do.Bases, remoteNamesCache)
+		toClean, err := cleanNumberMenu(do.Aur, do.Bases, remoteNamesCache, askClean)
+		if err != nil {
+			return err
 		}
 
-		if config.CleanMenu {
-			askClean := pkgbuildNumberMenu(do.Aur, do.Bases, remoteNamesCache)
-			toClean, err := cleanNumberMenu(do.Aur, do.Bases, remoteNamesCache, askClean)
-			if err != nil {
-				return err
-			}
+		cleanBuilds(toClean)
+	}
 
-			cleanBuilds(toClean)
-		}
+	toSkip := pkgBuildsToSkip(do.Aur, targets)
+	cloned, err := downloadPkgBuilds(do.Aur, do.Bases, toSkip)
+	if err != nil {
+		return err
+	}
 
-		toSkip := pkgBuildsToSkip(do.Aur, targets)
-		cloned, err := downloadPkgBuilds(do.Aur, do.Bases, toSkip)
+	var toDiff []*rpc.Pkg
+	var toEdit []*rpc.Pkg
+
+	if config.DiffMenu {
+		pkgbuildNumberMenu(do.Aur, do.Bases, remoteNamesCache)
+		toDiff, err = diffNumberMenu(do.Aur, do.Bases, remoteNamesCache)
 		if err != nil {
 			return err
 		}
 
-		var toDiff []*rpc.Pkg
-		var toEdit []*rpc.Pkg
-
-		if config.DiffMenu {
-			pkgbuildNumberMenu(do.Aur, do.Bases, remoteNamesCache)
-			toDiff, err = diffNumberMenu(do.Aur, do.Bases, remoteNamesCache)
+		if len(toDiff) > 0 {
+			err = showPkgBuildDiffs(toDiff, do.Bases, cloned)
 			if err != nil {
 				return err
 			}
+		}
+	}
 
-			if len(toDiff) > 0 {
-				err = showPkgBuildDiffs(toDiff, do.Bases, cloned)
-				if err != nil {
-					return err
-				}
-			}
+	if config.EditMenu {
+		pkgbuildNumberMenu(do.Aur, do.Bases, remoteNamesCache)
+		toEdit, err = editNumberMenu(do.Aur, do.Bases, remoteNamesCache)
+		if err != nil {
+			return err
 		}
 
-		if config.EditMenu {
-			pkgbuildNumberMenu(do.Aur, do.Bases, remoteNamesCache)
-			toEdit, err = editNumberMenu(do.Aur, do.Bases, remoteNamesCache)
+		if len(toEdit) > 0 {
+			err = editPkgBuilds(toEdit, do.Bases)
 			if err != nil {
 				return err
 			}
-
-			if len(toEdit) > 0 {
-				err = editPkgBuilds(toEdit, do.Bases)
-				if err != nil {
-					return err
-				}
-			}
 		}
+	}
 
-		if len(toDiff) > 0 || len(toEdit) > 0 {
-			oldValue := config.NoConfirm
-			config.NoConfirm = false
-			fmt.Println()
-			if !continueTask(bold(green("Proceed with install?")), "nN") {
-				return fmt.Errorf("Aborting due to user")
-			}
-			config.NoConfirm = oldValue
+	if len(toDiff) > 0 || len(toEdit) > 0 {
+		oldValue := config.NoConfirm
+		config.NoConfirm = false
+		fmt.Println()
+		if !continueTask(bold(green("Proceed with install?")), "nN") {
+			return fmt.Errorf("Aborting due to user")
 		}
+		config.NoConfirm = oldValue
+	}
 
-		err = mergePkgBuilds(do.Aur)
-		if err != nil {
-			return err
-		}
+	err = mergePkgBuilds(do.Aur)
+	if err != nil {
+		return err
+	}
 
-		//initial srcinfo parse before pkgver() bump
-		err = parseSRCINFOFiles(do.Aur, srcinfosStale, do.Bases)
-		if err != nil {
-			return err
-		}
+	//initial srcinfo parse before pkgver() bump
+	err = parseSRCINFOFiles(do.Aur, srcinfosStale, do.Bases)
+	if err != nil {
+		return err
+	}
+
+	incompatible, err = getIncompatible(do.Aur, srcinfosStale, do.Bases)
+	if err != nil {
+		return err
+	}
 
-		incompatible, err = getIncompatible(do.Aur, srcinfosStale, do.Bases)
+	if config.PGPFetch {
+		err = checkPgpKeys(do.Aur, do.Bases, srcinfosStale)
 		if err != nil {
 			return err
 		}
-
-		if config.PGPFetch {
-			err = checkPgpKeys(do.Aur, do.Bases, srcinfosStale)
-			if err != nil {
-				return err
-			}
-		}
 	}
 
 	if len(arguments.targets) > 0 || arguments.existsArg("u") {
@@ -268,45 +267,41 @@ func install(parser *arguments) error {
 		}
 	}
 
-	if hasAur {
-		//conflicts have been checked so answer y for them
-		ask, _ := strconv.Atoi(cmdArgs.globals["ask"])
-		uask := alpm.QuestionType(ask) | alpm.QuestionTypeConflictPkg
-		cmdArgs.globals["ask"] = fmt.Sprint(uask)
+	//conflicts have been checked so answer y for them
+	ask, _ := strconv.Atoi(cmdArgs.globals["ask"])
+	uask := alpm.QuestionType(ask) | alpm.QuestionTypeConflictPkg
+	cmdArgs.globals["ask"] = fmt.Sprint(uask)
 
-		err = downloadPkgBuildsSources(do.Aur, do.Bases, incompatible)
-		if err != nil {
-			return err
-		}
-
-		err = buildInstallPkgBuilds(dp, do, srcinfosStale, parser, incompatible)
-		if err != nil {
-			return err
-		}
-
-		if removeMake {
-			removeArguments := makeArguments()
-			removeArguments.addArg("R", "u")
+	err = downloadPkgBuildsSources(do.Aur, do.Bases, incompatible)
+	if err != nil {
+		return err
+	}
 
-			for _, pkg := range do.getMake() {
-				removeArguments.addTarget(pkg)
-			}
+	err = buildInstallPkgBuilds(dp, do, srcinfosStale, parser, incompatible)
+	if err != nil {
+		return err
+	}
 
-			oldValue := config.NoConfirm
-			config.NoConfirm = true
-			err = passToPacman(removeArguments)
-			config.NoConfirm = oldValue
+	if removeMake {
+		removeArguments := makeArguments()
+		removeArguments.addArg("R", "u")
 
-			if err != nil {
-				return err
-			}
+		for _, pkg := range do.getMake() {
+			removeArguments.addTarget(pkg)
 		}
 
-		if config.CleanAfter {
-			clean(do.Aur)
+		oldValue := config.NoConfirm
+		config.NoConfirm = true
+		err = passToPacman(removeArguments)
+		config.NoConfirm = oldValue
+
+		if err != nil {
+			return err
 		}
+	}
 
-		return nil
+	if config.CleanAfter {
+		clean(do.Aur)
 	}
 
 	return nil