diff --git a/internal/cloudapi/v2/depsolve.go b/internal/cloudapi/v2/depsolve.go index d253b7c23f..301b154113 100644 --- a/internal/cloudapi/v2/depsolve.go +++ b/internal/cloudapi/v2/depsolve.go @@ -67,7 +67,12 @@ func (request *DepsolveRequest) Depsolve(df *distrofactory.Factory, rr *reporegi if err != nil { return nil, HTTPError(ErrorUnsupportedImageType) } - + // image type may have "tagged" repos that are only available for this + // image type so we need to re-read + repos, err = rr.ReposByImageTypeName(imageType.Arch().Distro().Name(), imageType.Arch().Name(), imageType.Name()) + if err != nil { + return nil, HTTPError(ErrorUnsupportedImageType) + } // use the same seed for all images so we get the same IDs bigSeed, err := rand.Int(rand.Reader, big.NewInt(math.MaxInt64)) if err != nil { diff --git a/internal/weldr/api.go b/internal/weldr/api.go index c10f43075f..9ad3cdd470 100644 --- a/internal/weldr/api.go +++ b/internal/weldr/api.go @@ -133,7 +133,7 @@ func (api *API) validDistros(arch string) []string { continue } - _, err := api.repoRegistry.DistroHasRepos(distroName, arch) + _, err := api.repoRegistry.ReposByArchName(distroName, arch, false) if err == nil { distros = append(distros, distroName) } else {