Update osbuild/images to v0.88.0

Adjust all paces that call `Solver.Depsolve()`, to cope with the changes
that enabled SBOM support.

Fix loading of testing repositories in the CloudAPI unit tests.

Signed-off-by: Tomáš Hozza <thozza@redhat.com>
This commit is contained in:
Tomáš Hozza 2024-09-06 18:21:15 +02:00 committed by Tomáš Hozza
parent b2096c2963
commit 7bdd036395
19 changed files with 169 additions and 57 deletions

View file

@ -26,6 +26,7 @@ import (
"github.com/osbuild/images/pkg/ostree"
"github.com/osbuild/images/pkg/rhsm/facts"
"github.com/osbuild/images/pkg/rpmmd"
"github.com/osbuild/images/pkg/sbom"
"github.com/osbuild/images/pkg/dnfjson"
)
@ -326,12 +327,12 @@ func depsolve(cacheDir string, packageSets map[string][]rpmmd.PackageSet, d dist
depsolvedSets := make(map[string][]rpmmd.PackageSpec)
repoConfigs := make(map[string][]rpmmd.RepoConfig)
for name, pkgSet := range packageSets {
res, repos, err := solver.Depsolve(pkgSet)
res, err := solver.Depsolve(pkgSet, sbom.StandardTypeNone)
if err != nil {
return nil, nil, err
}
depsolvedSets[name] = res
repoConfigs[name] = repos
depsolvedSets[name] = res.Packages
repoConfigs[name] = res.Repos
}
return depsolvedSets, repoConfigs, nil
}

View file

@ -18,6 +18,7 @@ import (
"github.com/osbuild/images/pkg/ostree"
"github.com/osbuild/images/pkg/reporegistry"
"github.com/osbuild/images/pkg/rpmmd"
"github.com/osbuild/images/pkg/sbom"
)
// This test loads all the repositories available in /repositories directory
@ -67,7 +68,7 @@ func TestCrossArchDepsolve(t *testing.T) {
assert.NoError(t, err)
for _, set := range manifest.GetPackageSetChains() {
_, _, err = solver.Depsolve(set)
_, err = solver.Depsolve(set, sbom.StandardTypeNone)
assert.NoError(t, err)
}
})
@ -109,12 +110,12 @@ func TestDepsolvePackageSets(t *testing.T) {
gotPackageSpecsSets := make(map[string][]rpmmd.PackageSpec, len(imagePkgSets))
gotRepoConfigs := make(map[string][]rpmmd.RepoConfig, len(imagePkgSets))
for name, pkgSet := range imagePkgSets {
res, repos, err := solver.Depsolve(pkgSet)
res, err := solver.Depsolve(pkgSet, sbom.StandardTypeNone)
if err != nil {
require.Nil(t, err)
}
gotPackageSpecsSets[name] = res
gotRepoConfigs[name] = repos
gotPackageSpecsSets[name] = res.Packages
gotRepoConfigs[name] = res.Repos
}
expectedPackageSpecsSetNames := []string{"build", "os"}
require.EqualValues(t, len(expectedPackageSpecsSetNames), len(gotPackageSpecsSets))

View file

@ -17,6 +17,7 @@ import (
"github.com/osbuild/images/pkg/manifest"
"github.com/osbuild/images/pkg/reporegistry"
"github.com/osbuild/images/pkg/rpmmd"
"github.com/osbuild/images/pkg/sbom"
"github.com/osbuild/osbuild-composer/internal/blueprint"
"github.com/osbuild/osbuild-composer/internal/store"
"github.com/osbuild/osbuild-composer/internal/target"
@ -32,12 +33,12 @@ func getManifest(bp blueprint.Blueprint, t distro.ImageType, a distro.Arch, d di
repoConfigs := make(map[string][]rpmmd.RepoConfig)
solver := dnfjson.NewSolver(d.ModulePlatformID(), d.Releasever(), a.Name(), d.Name(), cacheDir)
for name, packages := range manifest.GetPackageSetChains() {
res, repos, err := solver.Depsolve(packages)
res, err := solver.Depsolve(packages, sbom.StandardTypeNone)
if err != nil {
panic(err)
}
pkgSpecSets[name] = res
repoConfigs[name] = repos
pkgSpecSets[name] = res.Packages
repoConfigs[name] = res.Repos
}
mf, err := manifest.Serialize(pkgSpecSets, nil, nil, repoConfigs)

View file

@ -10,6 +10,7 @@ import (
"github.com/osbuild/images/pkg/dnfjson"
"github.com/osbuild/images/pkg/rpmmd"
"github.com/osbuild/images/pkg/sbom"
"github.com/osbuild/osbuild-composer/internal/worker"
"github.com/osbuild/osbuild-composer/internal/worker/clienterrors"
)
@ -63,12 +64,12 @@ func (impl *DepsolveJobImpl) depsolve(packageSets map[string][]rpmmd.PackageSet,
depsolvedSets := make(map[string][]rpmmd.PackageSpec)
repoConfigs := make(map[string][]rpmmd.RepoConfig)
for name, pkgSet := range packageSets {
res, repos, err := solver.Depsolve(pkgSet)
res, err := solver.Depsolve(pkgSet, sbom.StandardTypeNone)
if err != nil {
return nil, nil, err
}
depsolvedSets[name] = res
repoConfigs[name] = repos
depsolvedSets[name] = res.Packages
repoConfigs[name] = res.Repos
}
return depsolvedSets, repoConfigs, nil