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
This commit is contained in:
Michael Vogt 2025-02-06 17:37:41 +01:00 committed by Achilleas Koutsou
parent 13329ebb2e
commit 35167ce83f
5 changed files with 8 additions and 10 deletions

View file

@ -77,7 +77,7 @@ func NewComposer(config *ComposerConfigFile, stateDir, cacheDir string) (*Compos
return nil, fmt.Errorf("failed to configure distro aliases: %v", err) 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) { switch err.(type) {
case nil: case nil:
// fine // fine

View file

@ -24,8 +24,8 @@ const (
) )
var repositoryConfigs = []string{ var repositoryConfigs = []string{
"/etc/osbuild-composer", "/etc/osbuild-composer/repositories",
"/usr/share/osbuild-composer", "/usr/share/osbuild-composer/repositories",
} }
func main() { func main() {

View file

@ -26,7 +26,7 @@ import (
// this should run cross-arch dependency solving N-1 times. // this should run cross-arch dependency solving N-1 times.
func TestCrossArchDepsolve(t *testing.T) { func TestCrossArchDepsolve(t *testing.T) {
// Load repositories from the definition we provide in the RPM package // 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 // NOTE: we can add RHEL, but don't make it hard requirement because it will fail outside of VPN
cs9 := rhel9.DistroFactory("centos-9") 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. // and tries to depsolve all package sets of one image type for one architecture.
func TestDepsolvePackageSets(t *testing.T) { func TestDepsolvePackageSets(t *testing.T) {
// Load repositories from the definition we provide in the RPM package // 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 // NOTE: we can add RHEL, but don't make it hard requirement because it will fail outside of VPN
cs9 := rhel9.DistroFactory("centos-9") cs9 := rhel9.DistroFactory("centos-9")

View file

@ -813,9 +813,8 @@ func TestGetImageRequests_NoRepositories(t *testing.T) {
Repositories: []Repository{}, Repositories: []Repository{},
}, },
} }
reposConf, err := reporegistry.LoadAllRepositoriesFromFS([]fs.FS{repos.FS}) rr, err := reporegistry.New(nil, []fs.FS{repos.FS})
require.NoError(t, err) require.NoError(t, err)
rr := reporegistry.NewFromDistrosRepoConfigs(reposConf)
got, err := request.GetImageRequests(distrofactory.NewDefault(), rr) got, err := request.GetImageRequests(distrofactory.NewDefault(), rr)
assert.NoError(t, err) assert.NoError(t, err)
require.Len(t, got, 1) require.Len(t, got, 1)
@ -839,9 +838,8 @@ func TestGetImageRequests_BlueprintDistro(t *testing.T) {
Distro: common.ToPtr("fedora-39"), 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) require.NoError(t, err)
rr := reporegistry.NewFromDistrosRepoConfigs(reposConf)
got, err := request.GetImageRequests(distrofactory.NewDefault(), rr) got, err := request.GetImageRequests(distrofactory.NewDefault(), rr)
assert.NoError(t, err) assert.NoError(t, err)
require.Len(t, got, 1) require.Len(t, got, 1)

View file

@ -254,7 +254,7 @@ func newV2Server(t *testing.T, dir string, enableJWT bool, fail bool) (*v2.Serve
distros := distrofactory.NewTestDefault() distros := distrofactory.NewTestDefault()
require.NotNil(t, distros) 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.Nil(t, err)
require.NotNil(t, repos) require.NotNil(t, repos)
require.Greater(t, len(repos.ListDistros()), 0) require.Greater(t, len(repos.ListDistros()), 0)