|
Packit |
63bb0d |
package test_distro
|
|
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 |
type TestDistro struct{}
|
|
Packit |
63bb0d |
type TestArch struct{}
|
|
Packit |
63bb0d |
type TestImageType struct{}
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
const name = "test-distro"
|
|
Packit |
63bb0d |
const modulePlatformID = "platform:test"
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
func (d *TestDistro) ListArches() []string {
|
|
Packit |
63bb0d |
return []string{"test_arch"}
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
func (a *TestArch) Distro() distro.Distro {
|
|
Packit |
63bb0d |
return &TestDistro{}
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
func (t *TestImageType) Arch() distro.Arch {
|
|
Packit |
63bb0d |
return &TestArch{}
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
func (d *TestDistro) GetArch(arch string) (distro.Arch, error) {
|
|
Packit |
63bb0d |
if arch != "test_arch" {
|
|
Packit |
63bb0d |
return nil, errors.New("invalid arch: " + arch)
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
return &TestArch{}, nil
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
func (a *TestArch) Name() string {
|
|
Packit |
63bb0d |
return "test_arch"
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
func (a *TestArch) ListImageTypes() []string {
|
|
Packit |
63bb0d |
return []string{"test_type"}
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
func (a *TestArch) GetImageType(imageType string) (distro.ImageType, error) {
|
|
Packit |
63bb0d |
if imageType != "test_type" {
|
|
Packit |
63bb0d |
return nil, errors.New("invalid image type: " + imageType)
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
return &TestImageType{}, nil
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
func (t *TestImageType) Name() string {
|
|
Packit |
63bb0d |
return "test_type"
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
func (t *TestImageType) Filename() string {
|
|
Packit |
63bb0d |
return "test.img"
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
func (t *TestImageType) MIMEType() string {
|
|
Packit |
63bb0d |
return "application/x-test"
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
|
|
Packit Service |
bcdfb1 |
func (t *TestImageType) OSTreeRef() string {
|
|
Packit Service |
bcdfb1 |
return ""
|
|
Packit Service |
bcdfb1 |
}
|
|
Packit Service |
bcdfb1 |
|
|
Packit |
63bb0d |
func (t *TestImageType) Size(size uint64) uint64 {
|
|
Packit |
63bb0d |
return 0
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
func (t *TestImageType) Packages(bp blueprint.Blueprint) ([]string, []string) {
|
|
Packit |
63bb0d |
return nil, nil
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
func (t *TestImageType) BuildPackages() []string {
|
|
Packit |
63bb0d |
return nil
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
|
|
Packit Service |
15f37d |
func (t *TestImageType) PackageSets(bp blueprint.Blueprint) map[string]rpmmd.PackageSet {
|
|
Packit Service |
15f37d |
return nil
|
|
Packit Service |
15f37d |
}
|
|
Packit Service |
15f37d |
func (t *TestImageType) Exports() []string {
|
|
Packit Service |
15f37d |
return []string{"assembler"}
|
|
Packit Service |
15f37d |
}
|
|
Packit Service |
15f37d |
|
|
Packit Service |
15f37d |
func (t *TestImageType) Manifest(b *blueprint.Customizations, options distro.ImageOptions, repos []rpmmd.RepoConfig, packageSpecSets map[string][]rpmmd.PackageSpec, seed int64) (distro.Manifest, error) {
|
|
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() *TestDistro {
|
|
Packit |
63bb0d |
return &TestDistro{}
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
func (d *TestDistro) Name() string {
|
|
Packit |
63bb0d |
return name
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
func (d *TestDistro) ModulePlatformID() string {
|
|
Packit |
63bb0d |
return modulePlatformID
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
func (d *TestDistro) FilenameFromType(outputFormat string) (string, string, error) {
|
|
Packit |
63bb0d |
if outputFormat == "test_format" {
|
|
Packit |
63bb0d |
return "test.img", "application/x-test", nil
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
return "", "", errors.New("invalid output format: " + outputFormat)
|
|
Packit |
63bb0d |
}
|