From 085ba6fec9a6a33424c9cb798e727b4a79c781f1 Mon Sep 17 00:00:00 2001 From: Jacob Kozol Date: Wed, 6 Nov 2019 14:10:51 +0100 Subject: [PATCH] rpmmd: convert sources to repos Add function to convert between a user source and a repo which can be passed to dnf-json. This is neccessary because user-defined sources have a slightly different format than dnf repos. --- internal/rpmmd/repository.go | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/internal/rpmmd/repository.go b/internal/rpmmd/repository.go index 291924c91..86fca6ea6 100644 --- a/internal/rpmmd/repository.go +++ b/internal/rpmmd/repository.go @@ -8,6 +8,8 @@ import ( "os/exec" "sort" "time" + + "github.com/osbuild/osbuild-composer/internal/store" ) type RepoConfig struct { @@ -159,3 +161,20 @@ func (packages PackageList) Search(name string) (int, int) { return first, last - first } + +func SourceToRepo(source store.SourceConfig) RepoConfig { + var repo RepoConfig + + repo.Name = source.Name + repo.Id = source.Name + + if source.Type == "yum-baseurl" { + repo.BaseURL = source.URL + } else if source.Type == "yum-metalink" { + repo.Metalink = source.URL + } else if source.Type == "yum-mirrorlist" { + repo.MirrorList = source.URL + } + + return repo +}