From 35167ce83f6301ef546a39e0a09bbb99c6425259 Mon Sep 17 00:00:00 2001 From: Michael Vogt Date: Thu, 6 Feb 2025 17:37:41 +0100 Subject: [PATCH] many: update for new reporegistry.New() api (c.f. pr#1179) This commit updates osbuild-composer for the new API in images for the `reporegistry.New()`. The main incompatible change is that the `/repositories` part is not longer automatically added inside the library so we need to add it on the call-site. This needs https://github.com/osbuild/images/pull/1179 --- cmd/osbuild-composer/composer.go | 2 +- cmd/osbuild-composer/main.go | 4 ++-- cmd/osbuild-dnf-json-tests/main_test.go | 4 ++-- internal/cloudapi/v2/compose_test.go | 6 ++---- internal/cloudapi/v2/v2_test.go | 2 +- 5 files changed, 8 insertions(+), 10 deletions(-) diff --git a/cmd/osbuild-composer/composer.go b/cmd/osbuild-composer/composer.go index a3caf18a4..d34ad7667 100644 --- a/cmd/osbuild-composer/composer.go +++ b/cmd/osbuild-composer/composer.go @@ -77,7 +77,7 @@ func NewComposer(config *ComposerConfigFile, stateDir, cacheDir string) (*Compos return nil, fmt.Errorf("failed to configure distro aliases: %v", err) } - c.repos, err = reporegistry.New(repositoryConfigs) + c.repos, err = reporegistry.New(repositoryConfigs, nil) switch err.(type) { case nil: // fine diff --git a/cmd/osbuild-composer/main.go b/cmd/osbuild-composer/main.go index e47a0b150..2494b588c 100644 --- a/cmd/osbuild-composer/main.go +++ b/cmd/osbuild-composer/main.go @@ -24,8 +24,8 @@ const ( ) var repositoryConfigs = []string{ - "/etc/osbuild-composer", - "/usr/share/osbuild-composer", + "/etc/osbuild-composer/repositories", + "/usr/share/osbuild-composer/repositories", } func main() { diff --git a/cmd/osbuild-dnf-json-tests/main_test.go b/cmd/osbuild-dnf-json-tests/main_test.go index aca3e0b12..b23e87611 100644 --- a/cmd/osbuild-dnf-json-tests/main_test.go +++ b/cmd/osbuild-dnf-json-tests/main_test.go @@ -26,7 +26,7 @@ import ( // this should run cross-arch dependency solving N-1 times. func TestCrossArchDepsolve(t *testing.T) { // Load repositories from the definition we provide in the RPM package - repoDir := "/usr/share/tests/osbuild-composer" + repoDir := "/usr/share/tests/osbuild-composer/repositories" // NOTE: we can add RHEL, but don't make it hard requirement because it will fail outside of VPN cs9 := rhel9.DistroFactory("centos-9") @@ -83,7 +83,7 @@ func TestCrossArchDepsolve(t *testing.T) { // and tries to depsolve all package sets of one image type for one architecture. func TestDepsolvePackageSets(t *testing.T) { // Load repositories from the definition we provide in the RPM package - repoDir := "/usr/share/tests/osbuild-composer" + repoDir := "/usr/share/tests/osbuild-composer/repositories" // NOTE: we can add RHEL, but don't make it hard requirement because it will fail outside of VPN cs9 := rhel9.DistroFactory("centos-9") diff --git a/internal/cloudapi/v2/compose_test.go b/internal/cloudapi/v2/compose_test.go index bdb8ce1a8..17623c173 100644 --- a/internal/cloudapi/v2/compose_test.go +++ b/internal/cloudapi/v2/compose_test.go @@ -813,9 +813,8 @@ func TestGetImageRequests_NoRepositories(t *testing.T) { Repositories: []Repository{}, }, } - reposConf, err := reporegistry.LoadAllRepositoriesFromFS([]fs.FS{repos.FS}) + rr, err := reporegistry.New(nil, []fs.FS{repos.FS}) require.NoError(t, err) - rr := reporegistry.NewFromDistrosRepoConfigs(reposConf) got, err := request.GetImageRequests(distrofactory.NewDefault(), rr) assert.NoError(t, err) require.Len(t, got, 1) @@ -839,9 +838,8 @@ func TestGetImageRequests_BlueprintDistro(t *testing.T) { Distro: common.ToPtr("fedora-39"), }, } - reposConf, err := reporegistry.LoadAllRepositoriesFromFS([]fs.FS{repos.FS}) + rr, err := reporegistry.New(nil, []fs.FS{repos.FS}) require.NoError(t, err) - rr := reporegistry.NewFromDistrosRepoConfigs(reposConf) got, err := request.GetImageRequests(distrofactory.NewDefault(), rr) assert.NoError(t, err) require.Len(t, got, 1) diff --git a/internal/cloudapi/v2/v2_test.go b/internal/cloudapi/v2/v2_test.go index 901fd7f10..07f5edbe1 100644 --- a/internal/cloudapi/v2/v2_test.go +++ b/internal/cloudapi/v2/v2_test.go @@ -254,7 +254,7 @@ func newV2Server(t *testing.T, dir string, enableJWT bool, fail bool) (*v2.Serve distros := distrofactory.NewTestDefault() require.NotNil(t, distros) - repos, err := reporegistry.New([]string{"../../../test/data"}) + repos, err := reporegistry.New([]string{"../../../test/data/repositories"}, nil) require.Nil(t, err) require.NotNil(t, repos) require.Greater(t, len(repos.ListDistros()), 0)