distro: add Manifest method to interface
For now, this simply wraps Pipeline and Sources, and retruns the resulting manifest object. In the future, Pipeline and Sources may be dropped from the interface. Signed-off-by: Tom Gundersen <teg@jklm.no>
This commit is contained in:
parent
4da1ab03b3
commit
919c484c79
8 changed files with 89 additions and 0 deletions
|
|
@ -64,6 +64,11 @@ type Distro interface {
|
|||
// corresponding pipeline containing the given packages.
|
||||
Sources(packages []rpmmd.PackageSpec) *osbuild.Sources
|
||||
|
||||
// Returns an osbuild manifest, containing the sources and pipeline necessary
|
||||
// to generates an image in the given output format with all packages and
|
||||
// customizations specified in the given blueprint.
|
||||
Manifest(b *blueprint.Blueprint, additionalRepos []rpmmd.RepoConfig, packageSpecs, buildPackageSpecs []rpmmd.PackageSpec, checksums map[string]string, outputArchitecture, outputFormat string, size uint64) (*osbuild.Manifest, error)
|
||||
|
||||
// Returns a osbuild runner that can be used on this distro.
|
||||
Runner() string
|
||||
}
|
||||
|
|
|
|||
|
|
@ -473,6 +473,18 @@ func (r *Fedora30) Sources(packages []rpmmd.PackageSpec) *osbuild.Sources {
|
|||
return &osbuild.Sources{}
|
||||
}
|
||||
|
||||
func (r *Fedora30) Manifest(b *blueprint.Blueprint, additionalRepos []rpmmd.RepoConfig, packageSpecs, buildPackageSpecs []rpmmd.PackageSpec, checksums map[string]string, outputArchitecture, outputFormat string, size uint64) (*osbuild.Manifest, error) {
|
||||
pipeline, err := r.Pipeline(b, additionalRepos, packageSpecs, buildPackageSpecs, checksums, outputArchitecture, outputFormat, size)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return &osbuild.Manifest{
|
||||
Sources: *r.Sources(append(packageSpecs, buildPackageSpecs...)),
|
||||
Pipeline: *pipeline,
|
||||
}, nil
|
||||
}
|
||||
|
||||
func (r *Fedora30) Runner() string {
|
||||
return "org.osbuild.fedora30"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -473,6 +473,18 @@ func (r *Fedora31) Sources(packages []rpmmd.PackageSpec) *osbuild.Sources {
|
|||
return &osbuild.Sources{}
|
||||
}
|
||||
|
||||
func (r *Fedora31) Manifest(b *blueprint.Blueprint, additionalRepos []rpmmd.RepoConfig, packageSpecs, buildPackageSpecs []rpmmd.PackageSpec, checksums map[string]string, outputArchitecture, outputFormat string, size uint64) (*osbuild.Manifest, error) {
|
||||
pipeline, err := r.Pipeline(b, additionalRepos, packageSpecs, buildPackageSpecs, checksums, outputArchitecture, outputFormat, size)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return &osbuild.Manifest{
|
||||
Sources: *r.Sources(append(packageSpecs, buildPackageSpecs...)),
|
||||
Pipeline: *pipeline,
|
||||
}, nil
|
||||
}
|
||||
|
||||
func (r *Fedora31) Runner() string {
|
||||
return "org.osbuild.fedora31"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -473,6 +473,18 @@ func (r *Fedora32) Sources(packages []rpmmd.PackageSpec) *osbuild.Sources {
|
|||
return &osbuild.Sources{}
|
||||
}
|
||||
|
||||
func (r *Fedora32) Manifest(b *blueprint.Blueprint, additionalRepos []rpmmd.RepoConfig, packageSpecs, buildPackageSpecs []rpmmd.PackageSpec, checksums map[string]string, outputArchitecture, outputFormat string, size uint64) (*osbuild.Manifest, error) {
|
||||
pipeline, err := r.Pipeline(b, additionalRepos, packageSpecs, buildPackageSpecs, checksums, outputArchitecture, outputFormat, size)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return &osbuild.Manifest{
|
||||
Sources: *r.Sources(append(packageSpecs, buildPackageSpecs...)),
|
||||
Pipeline: *pipeline,
|
||||
}, nil
|
||||
}
|
||||
|
||||
func (r *Fedora32) Runner() string {
|
||||
return "org.osbuild.fedora32"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -75,6 +75,18 @@ func (r *FedoraTestDistro) Sources(packages []rpmmd.PackageSpec) *osbuild.Source
|
|||
return &osbuild.Sources{}
|
||||
}
|
||||
|
||||
func (r *FedoraTestDistro) Manifest(b *blueprint.Blueprint, additionalRepos []rpmmd.RepoConfig, packageSpecs, buildPackageSpecs []rpmmd.PackageSpec, checksums map[string]string, outputArchitecture, outputFormat string, size uint64) (*osbuild.Manifest, error) {
|
||||
pipeline, err := r.Pipeline(b, additionalRepos, packageSpecs, buildPackageSpecs, checksums, outputArchitecture, outputFormat, size)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return &osbuild.Manifest{
|
||||
Sources: *r.Sources(append(packageSpecs, buildPackageSpecs...)),
|
||||
Pipeline: *pipeline,
|
||||
}, nil
|
||||
}
|
||||
|
||||
func (d *FedoraTestDistro) Runner() string {
|
||||
return "org.osbuild.test"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -616,6 +616,18 @@ func (r *RHEL81) Sources(packages []rpmmd.PackageSpec) *osbuild.Sources {
|
|||
return &osbuild.Sources{}
|
||||
}
|
||||
|
||||
func (r *RHEL81) Manifest(b *blueprint.Blueprint, additionalRepos []rpmmd.RepoConfig, packageSpecs, buildPackageSpecs []rpmmd.PackageSpec, checksums map[string]string, outputArchitecture, outputFormat string, size uint64) (*osbuild.Manifest, error) {
|
||||
pipeline, err := r.Pipeline(b, additionalRepos, packageSpecs, buildPackageSpecs, checksums, outputArchitecture, outputFormat, size)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return &osbuild.Manifest{
|
||||
Sources: *r.Sources(append(packageSpecs, buildPackageSpecs...)),
|
||||
Pipeline: *pipeline,
|
||||
}, nil
|
||||
}
|
||||
|
||||
func (r *RHEL81) Runner() string {
|
||||
return "org.osbuild.rhel81"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -616,6 +616,18 @@ func (r *RHEL82) Sources(packages []rpmmd.PackageSpec) *osbuild.Sources {
|
|||
return &osbuild.Sources{}
|
||||
}
|
||||
|
||||
func (r *RHEL82) Manifest(b *blueprint.Blueprint, additionalRepos []rpmmd.RepoConfig, packageSpecs, buildPackageSpecs []rpmmd.PackageSpec, checksums map[string]string, outputArchitecture, outputFormat string, size uint64) (*osbuild.Manifest, error) {
|
||||
pipeline, err := r.Pipeline(b, additionalRepos, packageSpecs, buildPackageSpecs, checksums, outputArchitecture, outputFormat, size)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return &osbuild.Manifest{
|
||||
Sources: *r.Sources(append(packageSpecs, buildPackageSpecs...)),
|
||||
Pipeline: *pipeline,
|
||||
}, nil
|
||||
}
|
||||
|
||||
func (r *RHEL82) Runner() string {
|
||||
return "org.osbuild.rhel82"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -67,6 +67,18 @@ func (d *TestDistro) Sources(packages []rpmmd.PackageSpec) *osbuild.Sources {
|
|||
return &osbuild.Sources{}
|
||||
}
|
||||
|
||||
func (r *TestDistro) Manifest(b *blueprint.Blueprint, additionalRepos []rpmmd.RepoConfig, packageSpecs, buildPackageSpecs []rpmmd.PackageSpec, checksums map[string]string, outputArchitecture, outputFormat string, size uint64) (*osbuild.Manifest, error) {
|
||||
pipeline, err := r.Pipeline(b, additionalRepos, packageSpecs, buildPackageSpecs, checksums, outputArchitecture, outputFormat, size)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return &osbuild.Manifest{
|
||||
Sources: *r.Sources(append(packageSpecs, buildPackageSpecs...)),
|
||||
Pipeline: *pipeline,
|
||||
}, nil
|
||||
}
|
||||
|
||||
func (d *TestDistro) Runner() string {
|
||||
return "org.osbuild.test"
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue