gen-manifests: set default ref before resolving packages

Package collection reads options and customizations to determine which
build packages to pull, so we must set the default ref early if it's
needed.
This commit is contained in:
Achilleas Koutsou 2022-11-08 18:23:33 +01:00 committed by Christian Kellner
parent 09903bd0db
commit e192cc4a18

View file

@ -137,11 +137,15 @@ func makeManifestJob(name string, imgType distro.ImageType, cr composeRequest, d
}
containerSpecs, err := resolveContainers(bp.Containers, archName)
if err != nil {
return fmt.Errorf("[%s] container resolution failed: %s", filename, err.Error())
}
if options.OSTree.ImageRef == "" {
// use default OSTreeRef for image type
options.OSTree.ImageRef = imgType.OSTreeRef()
}
packageSpecs, err := depsolve(cacheDir, imgType, bp, options, repos, distribution, archName)
if err != nil {
err = fmt.Errorf("[%s] depsolve failed: %s", filename, err.Error())
@ -151,10 +155,6 @@ func makeManifestJob(name string, imgType distro.ImageType, cr composeRequest, d
err = fmt.Errorf("[%s] nil package specs", filename)
return
}
if options.OSTree.ImageRef == "" {
// use default OSTreeRef for image type
options.OSTree.ImageRef = imgType.OSTreeRef()
}
manifest, err := imgType.Manifest(cr.Blueprint.Customizations, options, repos, packageSpecs, containerSpecs, seedArg)
if err != nil {
err = fmt.Errorf("[%s] failed: %s", filename, err)