From 8dd0d97ae047dc624dd0461ab586144faab500d4 Mon Sep 17 00:00:00 2001 From: morganamilo Date: Thu, 5 Jul 2018 22:20:18 +0100 Subject: [PATCH] Properley seprate aur and repo targets. When not doing combined upgrade the repo targets need to be extracted for the early pacman call. --- install.go | 44 ++++++++++++++++++++++++++++++++++++++------ 1 file changed, 38 insertions(+), 6 deletions(-) diff --git a/install.go b/install.go index 85bc02b8..6895eb25 100644 --- a/install.go +++ b/install.go @@ -59,12 +59,44 @@ func install(parser *arguments) error { parser.clearTargets() arguments.clearTargets() - //seperate aur and repo targets - for _, target := range targets { - if localNamesCache.get(target) { - arguments.addTarget(target) - } else { - parser.addTarget(target) + syncDb, err := alpmHandle.SyncDbs() + if err != nil { + return err + } + + if mode == ModeRepo { + arguments.targets = targets + } else { + alpmHandle.SetQuestionCallback(func(alpm.QuestionAny) {}) + //seperate aur and repo targets + for _, _target := range targets { + target := toTarget(_target) + + if target.Db == "aur" { + parser.addTarget(_target) + continue + } + + var singleDb *alpm.Db + + if target.Db != "" { + singleDb, err = alpmHandle.SyncDbByName(target.Db) + if err != nil { + return err + } + fmt.Println(singleDb) + fmt.Println(target.DepString()) + _, err = singleDb.PkgCache().FindSatisfier(target.DepString()) + fmt.Println("herererrrrrr", err) + } else { + _, err = syncDb.FindSatisfier(target.DepString()) + } + + if err == nil { + arguments.addTarget(_target) + } else { + parser.addTarget(_target) + } } }