From 1428f54a0272d8dc58fadfcc37954a4aeaa9f586 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Roth?= Date: Mon, 5 Aug 2024 12:29:02 +0200 Subject: [PATCH] make compatible with go 1.19 --- deb/package.go | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/deb/package.go b/deb/package.go index 75553e8f..b1ef3f0d 100644 --- a/deb/package.go +++ b/deb/package.go @@ -3,7 +3,6 @@ package deb import ( gocontext "context" "encoding/json" - "errors" "fmt" "path/filepath" "strconv" @@ -339,6 +338,20 @@ func (p *Package) MatchesArchitecture(arch string) bool { return p.Architecture == arch } +func JoinErrors(errs ...error) error { + var combinedErr error + for _, err := range errs { + if err != nil { + if combinedErr == nil { + combinedErr = err + } else { + combinedErr = fmt.Errorf("%w\n%v", combinedErr, err) + } + } + } + return combinedErr +} + // providesDependency checks if the package `Provide:`s the dependency, assuming that the architecture matches. // If the `Provides:` entry includes a version number, it will be considered when checking the dependency. func (p *Package) providesDependency(dep Dependency) (bool, error) { @@ -368,7 +381,7 @@ func (p *Package) providesDependency(dep Dependency) (bool, error) { errs = append(errs, fmt.Errorf("unsupported relation in Provides: %s", providedDep.String())) } } - return false, errors.Join(errs...) + return false, JoinErrors(errs...) } // MatchesDependency checks whether package matches specified dependency