|
Packit |
63bb0d |
package fedoratest
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
import (
|
|
Packit |
63bb0d |
"encoding/json"
|
|
Packit |
63bb0d |
"errors"
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
"github.com/osbuild/osbuild-composer/internal/blueprint"
|
|
Packit |
63bb0d |
"github.com/osbuild/osbuild-composer/internal/distro"
|
|
Packit Service |
15f37d |
osbuild "github.com/osbuild/osbuild-composer/internal/osbuild1"
|
|
Packit |
63bb0d |
"github.com/osbuild/osbuild-composer/internal/rpmmd"
|
|
Packit |
63bb0d |
)
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
const name = "fedora-30"
|
|
Packit |
63bb0d |
const modulePlatformID = "platform:f30"
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
type FedoraTestDistro struct{}
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
type arch struct {
|
|
Packit |
63bb0d |
name string
|
|
Packit |
63bb0d |
distro *FedoraTestDistro
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
type imageType struct {
|
|
Packit |
63bb0d |
name string
|
|
Packit |
63bb0d |
arch *arch
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
func (a *arch) Distro() distro.Distro {
|
|
Packit |
63bb0d |
return a.distro
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
func (t *imageType) Arch() distro.Arch {
|
|
Packit |
63bb0d |
return t.arch
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
func (d *FedoraTestDistro) ListArches() []string {
|
|
Packit |
63bb0d |
return []string{"x86_64"}
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
func (d *FedoraTestDistro) GetArch(name string) (distro.Arch, error) {
|
|
Packit |
63bb0d |
if name != "x86_64" {
|
|
Packit |
63bb0d |
return nil, errors.New("invalid architecture: " + name)
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
return &arch{
|
|
Packit |
63bb0d |
name: name,
|
|
Packit |
63bb0d |
distro: d,
|
|
Packit |
63bb0d |
}, nil
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
func (a *arch) Name() string {
|
|
Packit |
63bb0d |
return a.name
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
func (a *arch) ListImageTypes() []string {
|
|
Packit |
63bb0d |
return []string{"qcow2"}
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
func (a *arch) GetImageType(name string) (distro.ImageType, error) {
|
|
Packit |
63bb0d |
if name != "qcow2" {
|
|
Packit |
63bb0d |
return nil, errors.New("invalid image type: " + name)
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
return &imageType{
|
|
Packit |
63bb0d |
name: name,
|
|
Packit |
63bb0d |
arch: a,
|
|
Packit |
63bb0d |
}, nil
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
func (t *imageType) Name() string {
|
|
Packit |
63bb0d |
return t.name
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
func (t *imageType) Filename() string {
|
|
Packit |
63bb0d |
return "test.img"
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
func (t *imageType) MIMEType() string {
|
|
Packit |
63bb0d |
return "application/x-test"
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
|
|
Packit Service |
bcdfb1 |
func (t *imageType) OSTreeRef() string {
|
|
Packit Service |
bcdfb1 |
return ""
|
|
Packit Service |
bcdfb1 |
}
|
|
Packit Service |
bcdfb1 |
|
|
Packit |
63bb0d |
func (t *imageType) Size(size uint64) uint64 {
|
|
Packit |
63bb0d |
return size
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
func (t *imageType) Packages(bp blueprint.Blueprint) ([]string, []string) {
|
|
Packit |
63bb0d |
return nil, nil
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
func (t *imageType) BuildPackages() []string {
|
|
Packit |
63bb0d |
return nil
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
|
|
Packit Service |
15f37d |
func (t *imageType) PackageSets(bp blueprint.Blueprint) map[string]rpmmd.PackageSet {
|
|
Packit Service |
15f37d |
return nil
|
|
Packit Service |
15f37d |
}
|
|
Packit Service |
15f37d |
|
|
Packit Service |
15f37d |
func (t *imageType) Exports() []string {
|
|
Packit Service |
15f37d |
return []string{"assembler"}
|
|
Packit Service |
15f37d |
}
|
|
Packit Service |
15f37d |
|
|
Packit |
63bb0d |
func (t *imageType) Manifest(c *blueprint.Customizations,
|
|
Packit |
63bb0d |
options distro.ImageOptions,
|
|
Packit |
63bb0d |
repos []rpmmd.RepoConfig,
|
|
Packit Service |
15f37d |
packageSpecSets map[string][]rpmmd.PackageSpec,
|
|
Packit Service |
509fd4 |
seed int64) (distro.Manifest, error) {
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
return json.Marshal(
|
|
Packit |
63bb0d |
osbuild.Manifest{
|
|
Packit |
63bb0d |
Sources: osbuild.Sources{},
|
|
Packit |
63bb0d |
Pipeline: osbuild.Pipeline{},
|
|
Packit |
63bb0d |
},
|
|
Packit |
63bb0d |
)
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
func New() *FedoraTestDistro {
|
|
Packit |
63bb0d |
return &FedoraTestDistro{}
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
func (d *FedoraTestDistro) Name() string {
|
|
Packit |
63bb0d |
return name
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
func (d *FedoraTestDistro) ModulePlatformID() string {
|
|
Packit |
63bb0d |
return modulePlatformID
|
|
Packit |
63bb0d |
}
|