improved logging to return what package is missing on mirror

This commit is contained in:
2021-07-27 18:51:35 +02:00
parent 1ee2cc1ea8
commit ff011edd4d
2 changed files with 12 additions and 8 deletions

View File

@@ -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()

View File

@@ -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 {