From f4e2f32aff1e3e97484b3ce171a8e7f222be1b2d Mon Sep 17 00:00:00 2001 From: Ettore Di Giacinto Date: Sat, 19 Dec 2020 14:57:42 +0100 Subject: [PATCH] Return candidate not found when appropriate --- pkg/installer/repository.go | 8 +++----- pkg/package/database_boltdb.go | 5 +++-- pkg/package/database_mem.go | 5 +++-- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/pkg/installer/repository.go b/pkg/installer/repository.go index b8f4ef9a..10ecabb6 100644 --- a/pkg/installer/repository.go +++ b/pkg/installer/repository.go @@ -829,13 +829,11 @@ PACKAGE: c, err := r.GetTree().GetDatabase().FindPackageCandidate(pack) // If FindPackageCandidate returns the same package, it means it couldn't find one. // Skip this repository and keep looking. - if c.String() == pack.String() { + if err != nil { //c.String() == pack.String() { continue REPOSITORY } - if err == nil { - matches = append(matches, c) - continue PACKAGE - } + matches = append(matches, c) + continue PACKAGE } else { // If it's not a selector, just append it matches = append(matches, pack) diff --git a/pkg/package/database_boltdb.go b/pkg/package/database_boltdb.go index 9e9b13d5..15e1c04f 100644 --- a/pkg/package/database_boltdb.go +++ b/pkg/package/database_boltdb.go @@ -341,17 +341,18 @@ func (db *BoltDatabase) FindPackageCandidate(p Package) (Package, error) { required, err := db.FindPackage(p) if err != nil { - + err = nil // return nil, errors.Wrap(err, "Couldn't find required package in db definition") packages, err := p.Expand(db) // Info("Expanded", packages, err) if err != nil || len(packages) == 0 { required = p + err = errors.Wrap(err, "Candidate not found") } else { required = packages.Best(nil) } - return required, nil + return required, err //required = &DefaultPackage{Name: "test"} } diff --git a/pkg/package/database_mem.go b/pkg/package/database_mem.go index a77406f7..da6606ca 100644 --- a/pkg/package/database_mem.go +++ b/pkg/package/database_mem.go @@ -434,16 +434,17 @@ func (db *InMemoryDatabase) FindPackageCandidate(p Package) (Package, error) { required, err := db.FindPackage(p) if err != nil { + err = nil // return nil, errors.Wrap(err, "Couldn't find required package in db definition") packages, err := p.Expand(db) // Info("Expanded", packages, err) if err != nil || len(packages) == 0 { required = p + err = errors.Wrap(err, "Candidate not found") } else { required = packages.Best(nil) - } - return required, nil + return required, err //required = &DefaultPackage{Name: "test"} }