From ff011edd4db3a451f8dc2ac89c32123748263b05 Mon Sep 17 00:00:00 2001 From: Giovanni Harting <539@idlegandalf.com> Date: Tue, 27 Jul 2021 18:51:35 +0200 Subject: [PATCH] improved logging to return what package is missing on mirror --- main.go | 8 ++++++-- utils.go | 12 ++++++------ 2 files changed, 12 insertions(+), 8 deletions(-) diff --git a/main.go b/main.go index 94eeadf..b4d2fb1 100644 --- a/main.go +++ b/main.go @@ -274,7 +274,7 @@ func (b *BuildManager) parseWorker() { continue } - isLatest, err := isMirrorLatest(alpmHandle, pkg) + isLatest, dep, err := isMirrorLatest(alpmHandle, pkg) if err != nil { log.Warningf("[%s/%s] Problem solving dependencies: %v", pkg.FullRepo, info.Pkgbase, err) } @@ -284,7 +284,11 @@ func (b *BuildManager) parseWorker() { dbLock.Unlock() if !isLatest { - log.Infof("Delayed %s: not all dependencies are up to date", info.Pkgbase) + if dep != nil { + log.Infof("Delayed %s: not all dependencies are up to date (from local: %s==%s)", info.Pkgbase, dep.Name(), dep.Version()) + } else { + log.Infof("Delayed %s: not all dependencies are up to date", info.Pkgbase) + } dbLock.Lock() dbPkg = dbPkg.Update().SetSkipReason("waiting for mirror").SaveX(context.Background()) dbLock.Unlock() diff --git a/utils.go b/utils.go index 5e08c9c..4df40c0 100644 --- a/utils.go +++ b/utils.go @@ -454,10 +454,10 @@ func setupMakepkg(march string) { check(os.WriteFile(lMakepkg, []byte(makepkgStr), os.ModePerm)) } -func isMirrorLatest(h *alpm.Handle, buildPkg *BuildPackage) (bool, error) { +func isMirrorLatest(h *alpm.Handle, buildPkg *BuildPackage) (bool, alpm.IPackage, error) { dbs, err := h.SyncDBs() if err != nil { - return false, err + return false, nil, err } allDepends := buildPkg.Srcinfo.Depends @@ -466,22 +466,22 @@ func isMirrorLatest(h *alpm.Handle, buildPkg *BuildPackage) (bool, error) { for _, dep := range allDepends { pkg, err := dbs.FindSatisfier(dep.Value) if err != nil { - return false, err + return false, nil, err } svn2gitVer, err := getSVN2GITVersion(&BuildPackage{ Pkgbase: pkg.Base(), }) if err != nil { - return false, err + return false, nil, err } if svn2gitVer != "" && alpm.VerCmp(svn2gitVer, pkg.Version()) != 0 { - return false, nil + return false, pkg, nil } } - return true, nil + return true, nil, nil } func contains(s interface{}, str string) bool {