manifest: remove unused public functions from pipelines

These were only used from the manifest package, make them internal,
or read private fields directly.
This commit is contained in:
Tom Gundersen 2022-06-28 18:34:11 +01:00
parent 5f763dc386
commit 6940853215
10 changed files with 31 additions and 85 deletions

View file

@ -59,36 +59,15 @@ func (p AnacondaPipeline) getPackages() []rpmmd.PackageSpec {
return p.packageSpecs
}
// KernelVer returns the NEVRA of the kernel package the installer will use at
// install time.
func (p AnacondaPipeline) KernelVer() string {
return p.kernelVer
}
// Arch returns the supported architecture.
func (p AnacondaPipeline) Arch() string {
return p.arch
}
// Product returns the product being installed.
func (p AnacondaPipeline) Product() string {
return p.product
}
// Version returns the version of the product being installed.
func (p AnacondaPipeline) Version() string {
return p.version
}
func (p AnacondaPipeline) serialize() osbuild2.Pipeline {
pipeline := p.BasePipeline.serialize()
pipeline.AddStage(osbuild2.NewRPMStage(osbuild2.NewRPMStageOptions(p.repos), osbuild2.NewRpmStageSourceFilesInputs(p.packageSpecs)))
pipeline.AddStage(osbuild2.NewBuildstampStage(&osbuild2.BuildstampStageOptions{
Arch: p.Arch(),
Product: p.Product(),
Arch: p.arch,
Product: p.product,
Variant: p.Variant,
Version: p.Version(),
Version: p.version,
Final: true,
}))
pipeline.AddStage(osbuild2.NewLocaleStage(&osbuild2.LocaleStageOptions{Language: "en_US.UTF-8"}))
@ -121,9 +100,9 @@ func (p AnacondaPipeline) serialize() osbuild2.Pipeline {
pipeline.AddStage(osbuild2.NewAnacondaStage(osbuild2.NewAnacondaStageOptions(p.Users)))
pipeline.AddStage(osbuild2.NewLoraxScriptStage(&osbuild2.LoraxScriptStageOptions{
Path: "99-generic/runtime-postinstall.tmpl",
BaseArch: p.Arch(),
BaseArch: p.arch,
}))
pipeline.AddStage(osbuild2.NewDracutStage(dracutStageOptions(p.KernelVer(), p.Biosdevname, []string{
pipeline.AddStage(osbuild2.NewDracutStage(dracutStageOptions(p.kernelVer, p.Biosdevname, []string{
"anaconda",
"rdma",
"rngd",

View file

@ -24,11 +24,6 @@ func NewOSTreeCommitPipeline(buildPipeline *BuildPipeline, treePipeline *OSPipel
}
}
// Ref returns the OSTree ref of the commit.
func (p OSTreeCommitPipeline) Ref() string {
return p.ref
}
func (p OSTreeCommitPipeline) serialize() osbuild2.Pipeline {
pipeline := p.BasePipeline.serialize()
@ -41,9 +36,9 @@ func (p OSTreeCommitPipeline) serialize() osbuild2.Pipeline {
pipeline.AddStage(osbuild2.NewOSTreeCommitStage(
&osbuild2.OSTreeCommitStageOptions{
Ref: p.Ref(),
Ref: p.ref,
OSVersion: p.OSVersion,
Parent: p.treePipeline.OSTreeParent(),
Parent: p.treePipeline.osTreeParent,
},
&osbuild2.OSTreeCommitStageInputs{Tree: commitStageInput}),
)

View file

@ -60,7 +60,7 @@ func (p OSTreeCommitServerTreePipeline) serialize() osbuild2.Pipeline {
pipeline.AddStage(osbuild2.NewOSTreePullStage(
&osbuild2.OSTreePullStageOptions{Repo: repoPath},
osbuild2.NewOstreePullStageInputs("org.osbuild.pipeline", "name:"+p.commitPipeline.Name(), p.commitPipeline.Ref()),
osbuild2.NewOstreePullStageInputs("org.osbuild.pipeline", "name:"+p.commitPipeline.Name(), p.commitPipeline.ref),
))
// make nginx log and lib directories world writeable, otherwise nginx can't start in

View file

@ -25,7 +25,7 @@ func NewISOPipeline(buildPipeline *BuildPipeline, treePipeline *ISOTreePipeline,
func (p ISOPipeline) serialize() osbuild2.Pipeline {
pipeline := p.BasePipeline.serialize()
pipeline.AddStage(osbuild2.NewXorrisofsStage(xorrisofsStageOptions(p.filename, p.treePipeline.ISOLabel(), p.ISOLinux), osbuild2.NewXorrisofsStagePipelineTreeInputs(p.treePipeline.Name())))
pipeline.AddStage(osbuild2.NewXorrisofsStage(xorrisofsStageOptions(p.filename, p.treePipeline.isoLabel, p.ISOLinux), osbuild2.NewXorrisofsStagePipelineTreeInputs(p.treePipeline.Name())))
pipeline.AddStage(osbuild2.NewImplantisomd5Stage(&osbuild2.Implantisomd5StageOptions{Filename: p.filename}))
return pipeline

View file

@ -30,7 +30,7 @@ type ISOTreePipeline struct {
func NewISOTreePipeline(buildPipeline *BuildPipeline, anacondaPipeline *AnacondaPipeline, osTreeCommit, osTreeURL, osTreeRef, isoLabelTmpl string) ISOTreePipeline {
// TODO: replace isoLabelTmpl with more high-level properties
isoLabel := fmt.Sprintf(isoLabelTmpl, anacondaPipeline.Arch())
isoLabel := fmt.Sprintf(isoLabelTmpl, anacondaPipeline.arch)
return ISOTreePipeline{
BasePipeline: NewBasePipeline("bootiso-tree", buildPipeline, nil),
@ -51,17 +51,13 @@ func (p ISOTreePipeline) getOSTreeCommits() []osTreeCommit {
}
}
func (p ISOTreePipeline) ISOLabel() string {
return p.isoLabel
}
func (p ISOTreePipeline) serialize() osbuild2.Pipeline {
pipeline := p.BasePipeline.serialize()
kspath := "/osbuild.ks"
ostreeRepoPath := "/ostree/repo"
pipeline.AddStage(osbuild2.NewBootISOMonoStage(bootISOMonoStageOptions(p.anacondaPipeline.KernelVer(), p.anacondaPipeline.Arch(), p.UEFIVendor, p.anacondaPipeline.Product(), p.anacondaPipeline.Version(), p.ISOLabel(), kspath), osbuild2.NewBootISOMonoStagePipelineTreeInputs(p.anacondaPipeline.Name())))
pipeline.AddStage(osbuild2.NewBootISOMonoStage(bootISOMonoStageOptions(p.anacondaPipeline.kernelVer, p.anacondaPipeline.arch, p.UEFIVendor, p.anacondaPipeline.product, p.anacondaPipeline.version, p.isoLabel, kspath), osbuild2.NewBootISOMonoStagePipelineTreeInputs(p.anacondaPipeline.Name())))
kickstartOptions, err := osbuild2.NewKickstartStageOptions(kspath, "", p.Users, p.Groups, makeISORootPath(ostreeRepoPath), p.osTreeRef, p.OSName)
if err != nil {
@ -70,7 +66,7 @@ func (p ISOTreePipeline) serialize() osbuild2.Pipeline {
pipeline.AddStage(osbuild2.NewKickstartStage(kickstartOptions))
pipeline.AddStage(osbuild2.NewDiscinfoStage(&osbuild2.DiscinfoStageOptions{
BaseArch: p.anacondaPipeline.Arch(),
BaseArch: p.anacondaPipeline.arch,
Release: p.Release,
}))

View file

@ -21,39 +21,35 @@ func NewLiveImgPipeline(buildPipeline *BuildPipeline, treePipeline *OSPipeline,
}
}
func (p LiveImgPipeline) Filename() string {
return p.filename
}
func (p LiveImgPipeline) serialize() osbuild2.Pipeline {
pipeline := p.BasePipeline.serialize()
pt := p.treePipeline.PartitionTable()
pt := p.treePipeline.partitionTable
if pt == nil {
panic("no partition table in live image")
}
for _, stage := range osbuild2.GenImagePrepareStages(pt, p.Filename(), osbuild2.PTSfdisk) {
for _, stage := range osbuild2.GenImagePrepareStages(pt, p.filename, osbuild2.PTSfdisk) {
pipeline.AddStage(stage)
}
inputName := "root-tree"
copyOptions, copyDevices, copyMounts := osbuild2.GenCopyFSTreeOptions(inputName, p.treePipeline.Name(), p.Filename(), pt)
copyOptions, copyDevices, copyMounts := osbuild2.GenCopyFSTreeOptions(inputName, p.treePipeline.Name(), p.filename, pt)
copyInputs := osbuild2.NewCopyStagePipelineTreeInputs(inputName, p.treePipeline.Name())
pipeline.AddStage(osbuild2.NewCopyStage(copyOptions, copyInputs, copyDevices, copyMounts))
for _, stage := range osbuild2.GenImageFinishStages(pt, p.Filename()) {
for _, stage := range osbuild2.GenImageFinishStages(pt, p.filename) {
pipeline.AddStage(stage)
}
switch p.treePipeline.BootLoader() {
switch p.treePipeline.bootLoader {
case BOOTLOADER_GRUB:
if grubLegacy := p.treePipeline.GRUBLegacy(); grubLegacy != "" {
pipeline.AddStage(osbuild2.NewGrub2InstStage(osbuild2.NewGrub2InstStageOption(p.Filename(), pt, grubLegacy)))
if grubLegacy := p.treePipeline.grubLegacy; grubLegacy != "" {
pipeline.AddStage(osbuild2.NewGrub2InstStage(osbuild2.NewGrub2InstStageOption(p.filename, pt, grubLegacy)))
}
case BOOTLOADER_ZIPL:
loopback := osbuild2.NewLoopbackDevice(&osbuild2.LoopbackDeviceOptions{Filename: p.Filename()})
pipeline.AddStage(osbuild2.NewZiplInstStage(osbuild2.NewZiplInstStageOptions(p.treePipeline.KernelVer(), pt), loopback, copyDevices, copyMounts))
loopback := osbuild2.NewLoopbackDevice(&osbuild2.LoopbackDeviceOptions{Filename: p.filename})
pipeline.AddStage(osbuild2.NewZiplInstStage(osbuild2.NewZiplInstStageOptions(p.treePipeline.kernelVer, pt), loopback, copyDevices, copyMounts))
}
return pipeline

View file

@ -139,31 +139,11 @@ func (p OSPipeline) getPackages() []rpmmd.PackageSpec {
return p.packageSpecs
}
func (p OSPipeline) OSTreeParent() string {
return p.osTreeParent
}
func (p OSPipeline) KernelVer() string {
return p.kernelVer
}
func (p OSPipeline) PartitionTable() *disk.PartitionTable {
return p.partitionTable
}
func (p OSPipeline) BootLoader() BootLoader {
return p.bootLoader
}
func (p OSPipeline) GRUBLegacy() string {
return p.grubLegacy
}
func (p OSPipeline) serialize() osbuild2.Pipeline {
pipeline := p.BasePipeline.serialize()
if p.osTree && p.OSTreeParent() != "" {
pipeline.AddStage(osbuild2.NewOSTreePasswdStage("org.osbuild.source", p.OSTreeParent()))
if p.osTree && p.osTreeParent != "" {
pipeline.AddStage(osbuild2.NewOSTreePasswdStage("org.osbuild.source", p.osTreeParent))
}
rpmOptions := osbuild2.NewRPMStageOptions(p.repos)
@ -177,7 +157,7 @@ func (p OSPipeline) serialize() osbuild2.Pipeline {
pipeline.AddStage(osbuild2.NewRPMStage(rpmOptions, osbuild2.NewRpmStageSourceFilesInputs(p.packageSpecs)))
// If the /boot is on a separate partition, the prefix for the BLS stage must be ""
if p.PartitionTable() == nil || p.PartitionTable().FindMountable("/boot") == nil {
if p.partitionTable == nil || p.partitionTable.FindMountable("/boot") == nil {
pipeline.AddStage(osbuild2.NewFixBLSStage(&osbuild2.FixBLSStageOptions{}))
} else {
pipeline.AddStage(osbuild2.NewFixBLSStage(&osbuild2.FixBLSStageOptions{Prefix: common.StringToPtr("")}))
@ -312,17 +292,17 @@ func (p OSPipeline) serialize() osbuild2.Pipeline {
pipeline.AddStage(osbuild2.NewWAAgentConfStage(p.WAAgentConfig))
}
if pt := p.PartitionTable(); pt != nil {
kernelOptions := osbuild2.GenImageKernelOptions(p.PartitionTable())
if pt := p.partitionTable; pt != nil {
kernelOptions := osbuild2.GenImageKernelOptions(p.partitionTable)
kernelOptions = append(kernelOptions, p.KernelOptionsAppend...)
pipeline = prependKernelCmdlineStage(pipeline, strings.Join(kernelOptions, " "), pt)
pipeline.AddStage(osbuild2.NewFSTabStage(osbuild2.NewFSTabStageOptions(pt)))
var bootloader *osbuild2.Stage
switch p.BootLoader() {
switch p.bootLoader {
case BOOTLOADER_GRUB:
options := osbuild2.NewGrub2StageOptionsUnified(pt, p.kernelVer, p.UEFIVendor != "", p.GRUBLegacy(), p.UEFIVendor, false)
options := osbuild2.NewGrub2StageOptionsUnified(pt, p.kernelVer, p.UEFIVendor != "", p.grubLegacy, p.UEFIVendor, false)
if cfg := p.Grub2Config; cfg != nil {
// TODO: don't store Grub2Config in OSPipeline, making the overrides unnecessary
// grub2.Config.Default is owned and set by `NewGrub2StageOptionsUnified`

View file

@ -33,7 +33,7 @@ func (p QCOW2Pipeline) serialize() osbuild2.Pipeline {
osbuild2.QCOW2Options{
Compat: p.Compat,
}),
osbuild2.NewQemuStagePipelineFilesInputs(p.imgPipeline.Name(), p.imgPipeline.Filename()),
osbuild2.NewQemuStagePipelineFilesInputs(p.imgPipeline.Name(), p.imgPipeline.filename),
))
return pipeline

View file

@ -29,7 +29,7 @@ func (p VMDKPipeline) serialize() osbuild2.Pipeline {
osbuild2.NewQEMUStageOptions(p.filename, osbuild2.QEMUFormatVMDK, osbuild2.VMDKOptions{
Subformat: osbuild2.VMDKSubformatStreamOptimized,
}),
osbuild2.NewQemuStagePipelineFilesInputs(p.imgPipeline.Name(), p.imgPipeline.Filename()),
osbuild2.NewQemuStagePipelineFilesInputs(p.imgPipeline.Name(), p.imgPipeline.filename),
))
return pipeline

View file

@ -28,7 +28,7 @@ func (p VPCPipeline) serialize() osbuild2.Pipeline {
pipeline.AddStage(osbuild2.NewQEMUStage(
osbuild2.NewQEMUStageOptions(p.filename, osbuild2.QEMUFormatVPC, nil),
osbuild2.NewQemuStagePipelineFilesInputs(p.imgPipeline.Name(), p.imgPipeline.Filename()),
osbuild2.NewQemuStagePipelineFilesInputs(p.imgPipeline.Name(), p.imgPipeline.filename),
))
return pipeline