From 58a2e9da25df097f23e3ad308fd7a3a4f74ea401 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Hozza?= Date: Wed, 20 Dec 2023 17:12:48 +0100 Subject: [PATCH] cmd/build: use reporegistry instead of a custom code MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Rework the cmd/build to use reporegistry for loading repo configs, instead of own custom implementation. Signed-off-by: Tomáš Hozza --- cmd/build/main.go | 39 ++++++++++----------------------------- 1 file changed, 10 insertions(+), 29 deletions(-) diff --git a/cmd/build/main.go b/cmd/build/main.go index 7f9888f8da..092067f370 100644 --- a/cmd/build/main.go +++ b/cmd/build/main.go @@ -5,7 +5,6 @@ import ( "encoding/json" "flag" "fmt" - "io" "os" "path/filepath" "strings" @@ -19,6 +18,7 @@ import ( "github.com/osbuild/images/pkg/manifest" "github.com/osbuild/images/pkg/osbuild" "github.com/osbuild/images/pkg/ostree" + "github.com/osbuild/images/pkg/reporegistry" "github.com/osbuild/images/pkg/rhsm/facts" "github.com/osbuild/images/pkg/rpmmd" ) @@ -111,32 +111,6 @@ func makeManifest(imgType distro.ImageType, config BuildConfig, distribution dis return mf, nil } -type DistroArchRepoMap map[string]map[string][]rpmmd.RepoConfig - -func readRepos() DistroArchRepoMap { - reposDir := "./test/data/repositories/" - darm := make(DistroArchRepoMap) - filelist, err := os.ReadDir(reposDir) - check(err) - for _, file := range filelist { - filename := file.Name() - if !strings.HasSuffix(filename, ".json") { - continue - } - reposFilepath := filepath.Join(reposDir, filename) - fp, err := os.Open(reposFilepath) - check(err) - defer fp.Close() - data, err := io.ReadAll(fp) - check(err) - repos := make(map[string][]rpmmd.RepoConfig) - check(json.Unmarshal(data, &repos)) - distro := strings.TrimSuffix(filename, filepath.Ext(filename)) - darm[distro] = repos - } - return darm -} - func resolveContainers(containers []container.SourceSpec, archName string) ([]container.Spec, error) { resolver := container.NewResolver(archName) @@ -247,7 +221,10 @@ func main() { } seedArg := int64(0) - darm := readRepos() + testedRepoRegistry, err := reporegistry.NewTestedDefault() + if err != nil { + panic(fmt.Sprintf("failed to create repo registry with tested distros: %v", err)) + } distroFac := distrofactory.NewDefault() config := loadConfig(configFile) @@ -279,7 +256,11 @@ func main() { } // get repositories - repos := filterRepos(darm[distroName][archName], imgTypeName) + repos, err := testedRepoRegistry.ReposByArchName(distroName, archName, true) + if err != nil { + panic(fmt.Sprintf("failed to get repositories for %s/%s: %v", distroName, archName, err)) + } + repos = filterRepos(repos, imgTypeName) if len(repos) == 0 { fail(fmt.Sprintf("no repositories defined for %s/%s\n", distroName, archName)) }