diff --git a/install.go b/install.go index 42063d06..c9e36b7a 100644 --- a/install.go +++ b/install.go @@ -175,13 +175,15 @@ func install(parser *arguments) error { } if config.CleanMenu { - askClean := pkgbuildNumberMenu(do.Aur, remoteNamesCache) - toClean, err := cleanNumberMenu(do.Aur, remoteNamesCache, askClean) - if err != nil { - return err - } + if anyExistInCache(do.Aur) { + askClean := pkgbuildNumberMenu(do.Aur, remoteNamesCache) + toClean, err := cleanNumberMenu(do.Aur, remoteNamesCache, askClean) + if err != nil { + return err + } - cleanBuilds(toClean) + cleanBuilds(toClean) + } } toSkip := pkgbuildsToSkip(do.Aur, targets) @@ -485,6 +487,19 @@ func parsePackageList(dir string) (map[string]string, string, error) { return pkgdests, version, nil } +func anyExistInCache(bases []Base) bool { + for _, base := range bases { + pkg := base.Pkgbase() + dir := filepath.Join(config.BuildDir, pkg) + + if _, err := os.Stat(dir); !os.IsNotExist(err) { + return true + } + } + + return false +} + func pkgbuildNumberMenu(bases []Base, installed stringSet) bool { toPrint := "" askClean := false