Update the osbuild/images to the version which introduces "dot notation" for distro release versions. - Replace all uses of distroregistry by distrofactory. - Delete local version of reporegistry and use the one from the osbuild/images. - Weldr: unify `createWeldrAPI()` and `createWeldrAPI2()` into a single `createTestWeldrAPI()` function`. - store/fixture: rework fixtures to allow overriding the host distro name and host architecture name. A cleanup function to restore the host distro and arch names is always part of the fixture struct. - Delete `distro_mock` package, since it is no longer used. - Bump the required version of osbuild to 98, because the OSCAP customization is using the 'compress_results' stage option, which is not available in older versions of osbuild. Signed-off-by: Tomáš Hozza <thozza@redhat.com>
51 lines
1.1 KiB
Go
51 lines
1.1 KiB
Go
package manifest
|
|
|
|
import (
|
|
"fmt"
|
|
|
|
"github.com/osbuild/images/pkg/osbuild"
|
|
)
|
|
|
|
// A OVF copies a vmdk image to it's own tree and generates an OVF descriptor
|
|
type OVF struct {
|
|
Base
|
|
|
|
imgPipeline *VMDK
|
|
}
|
|
|
|
// NewOVF creates a new OVF pipeline. imgPipeline is the pipeline producing the vmdk image.
|
|
func NewOVF(buidPipeline Build, imgPipeline *VMDK) *OVF {
|
|
p := &OVF{
|
|
Base: NewBase("ovf", buidPipeline),
|
|
imgPipeline: imgPipeline,
|
|
}
|
|
buidPipeline.addDependent(p)
|
|
return p
|
|
}
|
|
|
|
func (p *OVF) serialize() osbuild.Pipeline {
|
|
pipeline := p.Base.serialize()
|
|
|
|
inputName := "vmdk-tree"
|
|
pipeline.AddStage(osbuild.NewCopyStageSimple(
|
|
&osbuild.CopyStageOptions{
|
|
Paths: []osbuild.CopyStagePath{
|
|
{
|
|
From: fmt.Sprintf("input://%s/%s", inputName, p.imgPipeline.Export().Filename()),
|
|
To: "tree:///",
|
|
},
|
|
},
|
|
},
|
|
osbuild.NewPipelineTreeInputs(inputName, p.imgPipeline.Name()),
|
|
))
|
|
|
|
pipeline.AddStage(osbuild.NewOVFStage(&osbuild.OVFStageOptions{
|
|
Vmdk: p.imgPipeline.Filename(),
|
|
}))
|
|
|
|
return pipeline
|
|
}
|
|
|
|
func (p *OVF) getBuildPackages(Distro) []string {
|
|
return []string{"qemu-img"}
|
|
}
|