diff --git a/internal/distro/rhel84/distro_v2.go b/internal/distro/rhel84/distro_v2.go index bab9f6cac..e5832395c 100644 --- a/internal/distro/rhel84/distro_v2.go +++ b/internal/distro/rhel84/distro_v2.go @@ -275,7 +275,7 @@ func (t *imageTypeS2) buildPipeline(repos []rpmmd.RepoConfig, buildPackageSpecs p := new(osbuild.Pipeline) p.Name = "build" p.Runner = "org.osbuild.rhel84" - p.AddStage(osbuild.NewRPMStage(t.rpmStageOptions(repos), t.rpmStageInputs(buildPackageSpecs))) + p.AddStage(osbuild.NewRPMStage(t.rpmStageOptions(repos), osbuild.NewRpmStageSourceFilesInputs(buildPackageSpecs))) p.AddStage(osbuild.NewSELinuxStage(t.selinuxStageOptions())) return p } @@ -284,7 +284,7 @@ func (t *imageTypeS2) ostreeTreePipeline(repos []rpmmd.RepoConfig, packages []rp p := new(osbuild.Pipeline) p.Name = "ostree-tree" p.Build = "name:build" - p.AddStage(osbuild.NewRPMStage(t.rpmStageOptions(repos), t.rpmStageInputs(packages))) + p.AddStage(osbuild.NewRPMStage(t.rpmStageOptions(repos), osbuild.NewRpmStageSourceFilesInputs(packages))) language, keyboard := c.GetPrimaryLocale() if language != nil { p.AddStage(osbuild.NewLocaleStage(&osbuild.LocaleStageOptions{Language: *language})) @@ -381,7 +381,7 @@ func (t *imageTypeS2) containerTreePipeline(repos []rpmmd.RepoConfig, packages [ p := new(osbuild.Pipeline) p.Name = "container-tree" p.Build = "name:build" - p.AddStage(osbuild.NewRPMStage(t.rpmStageOptions(repos), t.rpmStageInputs(packages))) + p.AddStage(osbuild.NewRPMStage(t.rpmStageOptions(repos), osbuild.NewRpmStageSourceFilesInputs(packages))) language, _ := c.GetPrimaryLocale() if language != nil { p.AddStage(osbuild.NewLocaleStage(&osbuild.LocaleStageOptions{Language: *language})) @@ -424,7 +424,7 @@ func (t *imageTypeS2) anacondaTreePipeline(repos []rpmmd.RepoConfig, packages [] p := new(osbuild.Pipeline) p.Name = "anaconda-tree" p.Build = "name:build" - p.AddStage(osbuild.NewRPMStage(t.rpmStageOptions(repos), t.rpmStageInputs(packages))) + p.AddStage(osbuild.NewRPMStage(t.rpmStageOptions(repos), osbuild.NewRpmStageSourceFilesInputs(packages))) p.AddStage(osbuild.NewOSTreeInitStage(&osbuild.OSTreeInitStageOptions{Path: ostreeRepoPath})) p.AddStage(osbuild.NewOSTreePullStage( &osbuild.OSTreePullStageOptions{Repo: ostreeRepoPath}, @@ -488,22 +488,6 @@ func (t *imageTypeS2) bootISOPipeline() *osbuild.Pipeline { return p } -func (t *imageTypeS2) rpmStageInputs(specs []rpmmd.PackageSpec) *osbuild.RPMStageInputs { - stageInput := new(osbuild.RPMStageInput) - stageInput.Type = "org.osbuild.files" - stageInput.Origin = "org.osbuild.source" - stageInput.References = pkgRefs(specs) - return &osbuild.RPMStageInputs{Packages: stageInput} -} - -func pkgRefs(specs []rpmmd.PackageSpec) osbuild.RPMStageReferences { - refs := make([]string, len(specs)) - for idx, pkg := range specs { - refs[idx] = pkg.Checksum - } - return refs -} - func (t *imageTypeS2) ostreePullStageInputs(origin, source, commitRef string) *osbuild.OSTreePullStageInputs { pullStageInput := new(osbuild.OSTreePullStageInput) pullStageInput.Type = "org.osbuild.ostree" diff --git a/internal/distro/rhel85/pipelines.go b/internal/distro/rhel85/pipelines.go index c1cd2df38..851f9892b 100644 --- a/internal/distro/rhel85/pipelines.go +++ b/internal/distro/rhel85/pipelines.go @@ -184,7 +184,7 @@ func ec2BaseTreePipeline(repos []rpmmd.RepoConfig, packages []rpmmd.PackageSpec, p.Name = "os" p.Build = "name:build" packages = append(packages, bpPackages...) - p.AddStage(osbuild.NewRPMStage(rpmStageOptions(repos), rpmStageInputs(packages))) + p.AddStage(osbuild.NewRPMStage(rpmStageOptions(repos), osbuild.NewRpmStageSourceFilesInputs(packages))) // If the /boot is on a separate partition, the prefix for the BLS stage must be "" if pt.BootPartition() == nil { @@ -626,7 +626,7 @@ func buildPipeline(repos []rpmmd.RepoConfig, buildPackageSpecs []rpmmd.PackageSp p := new(osbuild.Pipeline) p.Name = "build" p.Runner = "org.osbuild.rhel85" - p.AddStage(osbuild.NewRPMStage(rpmStageOptions(repos), rpmStageInputs(buildPackageSpecs))) + p.AddStage(osbuild.NewRPMStage(rpmStageOptions(repos), osbuild.NewRpmStageSourceFilesInputs(buildPackageSpecs))) p.AddStage(osbuild.NewSELinuxStage(selinuxStageOptions(true))) return p } @@ -636,7 +636,7 @@ func osPipeline(repos []rpmmd.RepoConfig, packages []rpmmd.PackageSpec, bpPackag p.Name = "os" p.Build = "name:build" packages = append(packages, bpPackages...) - p.AddStage(osbuild.NewRPMStage(rpmStageOptions(repos), rpmStageInputs(packages))) + p.AddStage(osbuild.NewRPMStage(rpmStageOptions(repos), osbuild.NewRpmStageSourceFilesInputs(packages))) p.AddStage(osbuild.NewFixBLSStage(&osbuild.FixBLSStageOptions{})) language, keyboard := c.GetPrimaryLocale() if language != nil { @@ -722,7 +722,7 @@ func ostreeTreePipeline(repos []rpmmd.RepoConfig, packages []rpmmd.PackageSpec, p.AddStage(osbuild2.NewOSTreePasswdStage("org.osbuild.source", options.OSTree.Parent)) } - p.AddStage(osbuild.NewRPMStage(rpmStageOptions(repos), rpmStageInputs(packages))) + p.AddStage(osbuild.NewRPMStage(rpmStageOptions(repos), osbuild.NewRpmStageSourceFilesInputs(packages))) p.AddStage(osbuild.NewFixBLSStage(&osbuild.FixBLSStageOptions{})) language, keyboard := c.GetPrimaryLocale() if language != nil { @@ -839,7 +839,7 @@ func containerTreePipeline(repos []rpmmd.RepoConfig, packages []rpmmd.PackageSpe p := new(osbuild.Pipeline) p.Name = "container-tree" p.Build = "name:build" - p.AddStage(osbuild.NewRPMStage(rpmStageOptions(repos), rpmStageInputs(packages))) + p.AddStage(osbuild.NewRPMStage(rpmStageOptions(repos), osbuild.NewRpmStageSourceFilesInputs(packages))) language, _ := c.GetPrimaryLocale() if language != nil { p.AddStage(osbuild.NewLocaleStage(&osbuild.LocaleStageOptions{Language: *language})) @@ -1066,7 +1066,7 @@ func simplifiedInstallerTreePipeline(repos []rpmmd.RepoConfig, packages []rpmmd. p := new(osbuild.Pipeline) p.Name = "coi-tree" p.Build = "name:build" - p.AddStage(osbuild.NewRPMStage(rpmStageOptions(repos), rpmStageInputs(packages))) + p.AddStage(osbuild.NewRPMStage(rpmStageOptions(repos), osbuild.NewRpmStageSourceFilesInputs(packages))) p.AddStage(osbuild.NewBuildstampStage(buildStampStageOptions(arch))) p.AddStage(osbuild.NewLocaleStage(&osbuild.LocaleStageOptions{Language: "en_US.UTF-8"})) p.AddStage(osbuild.NewSystemdStage(systemdStageOptions([]string{"coreos-installer"}, nil, nil, ""))) @@ -1155,7 +1155,7 @@ func anacondaTreePipeline(repos []rpmmd.RepoConfig, packages []rpmmd.PackageSpec p := new(osbuild.Pipeline) p.Name = "anaconda-tree" p.Build = "name:build" - p.AddStage(osbuild.NewRPMStage(rpmStageOptions(repos), rpmStageInputs(packages))) + p.AddStage(osbuild.NewRPMStage(rpmStageOptions(repos), osbuild.NewRpmStageSourceFilesInputs(packages))) p.AddStage(osbuild.NewBuildstampStage(buildStampStageOptions(arch))) p.AddStage(osbuild.NewLocaleStage(&osbuild.LocaleStageOptions{Language: "en_US.UTF-8"})) diff --git a/internal/distro/rhel85/stage_inputs.go b/internal/distro/rhel85/stage_inputs.go index f3c79e32b..8aa57f60d 100644 --- a/internal/distro/rhel85/stage_inputs.go +++ b/internal/distro/rhel85/stage_inputs.go @@ -2,7 +2,6 @@ package rhel85 import ( osbuild "github.com/osbuild/osbuild-composer/internal/osbuild2" - "github.com/osbuild/osbuild-composer/internal/rpmmd" ) func bootISOMonoStageInputs() *osbuild.BootISOMonoStageInputs { @@ -15,22 +14,6 @@ func bootISOMonoStageInputs() *osbuild.BootISOMonoStageInputs { } } -func rpmStageInputs(specs []rpmmd.PackageSpec) *osbuild.RPMStageInputs { - stageInput := new(osbuild.RPMStageInput) - stageInput.Type = "org.osbuild.files" - stageInput.Origin = "org.osbuild.source" - stageInput.References = pkgRefs(specs) - return &osbuild.RPMStageInputs{Packages: stageInput} -} - -func pkgRefs(specs []rpmmd.PackageSpec) osbuild.RPMStageReferences { - refs := make([]string, len(specs)) - for idx, pkg := range specs { - refs[idx] = pkg.Checksum - } - return refs -} - func ostreePullStageInputs(origin, source, commitRef string) *osbuild.OSTreePullStageInputs { pullStageInput := new(osbuild.OSTreePullStageInput) pullStageInput.Type = "org.osbuild.ostree" diff --git a/internal/distro/rhel86/pipelines.go b/internal/distro/rhel86/pipelines.go index 39868df9e..9a5a57f03 100644 --- a/internal/distro/rhel86/pipelines.go +++ b/internal/distro/rhel86/pipelines.go @@ -346,7 +346,7 @@ func buildPipeline(repos []rpmmd.RepoConfig, buildPackageSpecs []rpmmd.PackageSp p := new(osbuild.Pipeline) p.Name = "build" p.Runner = runner - p.AddStage(osbuild.NewRPMStage(rpmStageOptions(repos), rpmStageInputs(buildPackageSpecs))) + p.AddStage(osbuild.NewRPMStage(rpmStageOptions(repos), osbuild.NewRpmStageSourceFilesInputs(buildPackageSpecs))) p.AddStage(osbuild.NewSELinuxStage(selinuxStageOptions(true))) return p } @@ -372,7 +372,7 @@ func osPipeline(t *imageType, p.AddStage(osbuild.NewOSTreePasswdStage("org.osbuild.source", options.OSTree.Parent)) } - p.AddStage(osbuild.NewRPMStage(rpmStageOptions(repos), rpmStageInputs(packages))) + p.AddStage(osbuild.NewRPMStage(rpmStageOptions(repos), osbuild.NewRpmStageSourceFilesInputs(packages))) // If the /boot is on a separate partition, the prefix for the BLS stage must be "" if pt == nil || pt.BootPartition() == nil { @@ -573,7 +573,7 @@ func containerTreePipeline(repos []rpmmd.RepoConfig, packages []rpmmd.PackageSpe p := new(osbuild.Pipeline) p.Name = "container-tree" p.Build = "name:build" - p.AddStage(osbuild.NewRPMStage(rpmStageOptions(repos), rpmStageInputs(packages))) + p.AddStage(osbuild.NewRPMStage(rpmStageOptions(repos), osbuild.NewRpmStageSourceFilesInputs(packages))) language, _ := c.GetPrimaryLocale() if language != nil { p.AddStage(osbuild.NewLocaleStage(&osbuild.LocaleStageOptions{Language: *language})) @@ -767,7 +767,7 @@ func simplifiedInstallerTreePipeline(repos []rpmmd.RepoConfig, packages []rpmmd. p := new(osbuild.Pipeline) p.Name = "coi-tree" p.Build = "name:build" - p.AddStage(osbuild.NewRPMStage(rpmStageOptions(repos), rpmStageInputs(packages))) + p.AddStage(osbuild.NewRPMStage(rpmStageOptions(repos), osbuild.NewRpmStageSourceFilesInputs(packages))) p.AddStage(osbuild.NewBuildstampStage(buildStampStageOptions(arch, product, osVersion, variant))) p.AddStage(osbuild.NewLocaleStage(&osbuild.LocaleStageOptions{Language: "en_US.UTF-8"})) p.AddStage(osbuild.NewDracutStage(dracutStageOptions(kernelVer, arch, []string{"coreos-installer"}))) @@ -870,7 +870,7 @@ func anacondaTreePipeline(repos []rpmmd.RepoConfig, packages []rpmmd.PackageSpec p := new(osbuild.Pipeline) p.Name = "anaconda-tree" p.Build = "name:build" - p.AddStage(osbuild.NewRPMStage(rpmStageOptions(repos), rpmStageInputs(packages))) + p.AddStage(osbuild.NewRPMStage(rpmStageOptions(repos), osbuild.NewRpmStageSourceFilesInputs(packages))) p.AddStage(osbuild.NewBuildstampStage(buildStampStageOptions(arch, product, osVersion, variant))) p.AddStage(osbuild.NewLocaleStage(&osbuild.LocaleStageOptions{Language: "en_US.UTF-8"})) diff --git a/internal/distro/rhel86/stage_inputs.go b/internal/distro/rhel86/stage_inputs.go index 21216741c..bc1a63e0b 100644 --- a/internal/distro/rhel86/stage_inputs.go +++ b/internal/distro/rhel86/stage_inputs.go @@ -2,7 +2,6 @@ package rhel86 import ( osbuild "github.com/osbuild/osbuild-composer/internal/osbuild2" - "github.com/osbuild/osbuild-composer/internal/rpmmd" ) func bootISOMonoStageInputs() *osbuild.BootISOMonoStageInputs { @@ -15,22 +14,6 @@ func bootISOMonoStageInputs() *osbuild.BootISOMonoStageInputs { } } -func rpmStageInputs(specs []rpmmd.PackageSpec) *osbuild.RPMStageInputs { - stageInput := new(osbuild.RPMStageInput) - stageInput.Type = "org.osbuild.files" - stageInput.Origin = "org.osbuild.source" - stageInput.References = pkgRefs(specs) - return &osbuild.RPMStageInputs{Packages: stageInput} -} - -func pkgRefs(specs []rpmmd.PackageSpec) osbuild.RPMStageReferences { - refs := make([]string, len(specs)) - for idx, pkg := range specs { - refs[idx] = pkg.Checksum - } - return refs -} - func ostreePullStageInputs(origin, source, commitRef string) *osbuild.OSTreePullStageInputs { pullStageInput := new(osbuild.OSTreePullStageInput) pullStageInput.Type = "org.osbuild.ostree" diff --git a/internal/distro/rhel90/pipelines.go b/internal/distro/rhel90/pipelines.go index fd31678ff..561a7bfdf 100644 --- a/internal/distro/rhel90/pipelines.go +++ b/internal/distro/rhel90/pipelines.go @@ -333,7 +333,7 @@ func buildPipeline(repos []rpmmd.RepoConfig, buildPackageSpecs []rpmmd.PackageSp p := new(osbuild.Pipeline) p.Name = "build" p.Runner = runner - p.AddStage(osbuild.NewRPMStage(rpmStageOptions(repos), rpmStageInputs(buildPackageSpecs))) + p.AddStage(osbuild.NewRPMStage(rpmStageOptions(repos), osbuild.NewRpmStageSourceFilesInputs(buildPackageSpecs))) p.AddStage(osbuild.NewSELinuxStage(selinuxStageOptions(true))) return p } @@ -359,7 +359,7 @@ func osPipeline(t *imageType, p.AddStage(osbuild.NewOSTreePasswdStage("org.osbuild.source", options.OSTree.Parent)) } - p.AddStage(osbuild.NewRPMStage(rpmStageOptions(repos), rpmStageInputs(packages))) + p.AddStage(osbuild.NewRPMStage(rpmStageOptions(repos), osbuild.NewRpmStageSourceFilesInputs(packages))) // If the /boot is on a separate partition, the prefix for the BLS stage must be "" if pt == nil || pt.BootPartition() == nil { @@ -560,7 +560,7 @@ func containerTreePipeline(repos []rpmmd.RepoConfig, packages []rpmmd.PackageSpe p := new(osbuild.Pipeline) p.Name = "container-tree" p.Build = "name:build" - p.AddStage(osbuild.NewRPMStage(rpmStageOptions(repos), rpmStageInputs(packages))) + p.AddStage(osbuild.NewRPMStage(rpmStageOptions(repos), osbuild.NewRpmStageSourceFilesInputs(packages))) language, _ := c.GetPrimaryLocale() if language != nil { p.AddStage(osbuild.NewLocaleStage(&osbuild.LocaleStageOptions{Language: *language})) @@ -764,7 +764,7 @@ func simplifiedInstallerTreePipeline(repos []rpmmd.RepoConfig, packages []rpmmd. p := new(osbuild.Pipeline) p.Name = "coi-tree" p.Build = "name:build" - p.AddStage(osbuild.NewRPMStage(rpmStageOptions(repos), rpmStageInputs(packages))) + p.AddStage(osbuild.NewRPMStage(rpmStageOptions(repos), osbuild.NewRpmStageSourceFilesInputs(packages))) p.AddStage(osbuild.NewBuildstampStage(buildStampStageOptions(arch, product, osVersion, variant))) p.AddStage(osbuild.NewLocaleStage(&osbuild.LocaleStageOptions{Language: "en_US.UTF-8"})) p.AddStage(osbuild.NewDracutStage(dracutStageOptions(kernelVer, arch, []string{"coreos-installer"}))) @@ -867,7 +867,7 @@ func anacondaTreePipeline(repos []rpmmd.RepoConfig, packages []rpmmd.PackageSpec p := new(osbuild.Pipeline) p.Name = "anaconda-tree" p.Build = "name:build" - p.AddStage(osbuild.NewRPMStage(rpmStageOptions(repos), rpmStageInputs(packages))) + p.AddStage(osbuild.NewRPMStage(rpmStageOptions(repos), osbuild.NewRpmStageSourceFilesInputs(packages))) p.AddStage(osbuild.NewBuildstampStage(buildStampStageOptions(arch, product, osVersion, variant))) p.AddStage(osbuild.NewLocaleStage(&osbuild.LocaleStageOptions{Language: "en_US.UTF-8"})) diff --git a/internal/distro/rhel90/stage_inputs.go b/internal/distro/rhel90/stage_inputs.go index e6a3f3b00..d0490bd3b 100644 --- a/internal/distro/rhel90/stage_inputs.go +++ b/internal/distro/rhel90/stage_inputs.go @@ -2,7 +2,6 @@ package rhel90 import ( osbuild "github.com/osbuild/osbuild-composer/internal/osbuild2" - "github.com/osbuild/osbuild-composer/internal/rpmmd" ) func bootISOMonoStageInputs() *osbuild.BootISOMonoStageInputs { @@ -15,22 +14,6 @@ func bootISOMonoStageInputs() *osbuild.BootISOMonoStageInputs { } } -func rpmStageInputs(specs []rpmmd.PackageSpec) *osbuild.RPMStageInputs { - stageInput := new(osbuild.RPMStageInput) - stageInput.Type = "org.osbuild.files" - stageInput.Origin = "org.osbuild.source" - stageInput.References = pkgRefs(specs) - return &osbuild.RPMStageInputs{Packages: stageInput} -} - -func pkgRefs(specs []rpmmd.PackageSpec) osbuild.RPMStageReferences { - refs := make([]string, len(specs)) - for idx, pkg := range specs { - refs[idx] = pkg.Checksum - } - return refs -} - func ostreePullStageInputs(origin, source, commitRef string) *osbuild.OSTreePullStageInputs { pullStageInput := new(osbuild.OSTreePullStageInput) pullStageInput.Type = "org.osbuild.ostree" diff --git a/internal/distro/rhel90beta/pipelines.go b/internal/distro/rhel90beta/pipelines.go index cdb8da428..8e345d46e 100644 --- a/internal/distro/rhel90beta/pipelines.go +++ b/internal/distro/rhel90beta/pipelines.go @@ -168,7 +168,7 @@ func ec2BaseTreePipeline(repos []rpmmd.RepoConfig, packages []rpmmd.PackageSpec, p.Name = "os" p.Build = "name:build" packages = append(packages, bpPackages...) - p.AddStage(osbuild.NewRPMStage(rpmStageOptions(repos), rpmStageInputs(packages))) + p.AddStage(osbuild.NewRPMStage(rpmStageOptions(repos), osbuild.NewRpmStageSourceFilesInputs(packages))) // If the /boot is on a separate partition, the prefix for the BLS stage must be "" if pt.BootPartition() == nil { @@ -706,7 +706,7 @@ func buildPipeline(repos []rpmmd.RepoConfig, buildPackageSpecs []rpmmd.PackageSp p := new(osbuild.Pipeline) p.Name = "build" p.Runner = "org.osbuild.rhel90" - p.AddStage(osbuild.NewRPMStage(rpmStageOptions(repos), rpmStageInputs(buildPackageSpecs))) + p.AddStage(osbuild.NewRPMStage(rpmStageOptions(repos), osbuild.NewRpmStageSourceFilesInputs(buildPackageSpecs))) p.AddStage(osbuild.NewSELinuxStage(selinuxStageOptions(true))) return p } @@ -716,7 +716,7 @@ func osPipeline(repos []rpmmd.RepoConfig, packages []rpmmd.PackageSpec, bpPackag p.Name = "os" p.Build = "name:build" packages = append(packages, bpPackages...) - p.AddStage(osbuild.NewRPMStage(rpmStageOptions(repos), rpmStageInputs(packages))) + p.AddStage(osbuild.NewRPMStage(rpmStageOptions(repos), osbuild.NewRpmStageSourceFilesInputs(packages))) p.AddStage(osbuild.NewFixBLSStage(&osbuild.FixBLSStageOptions{})) language, keyboard := c.GetPrimaryLocale() if language != nil { @@ -797,7 +797,7 @@ func ostreeTreePipeline(repos []rpmmd.RepoConfig, packages []rpmmd.PackageSpec, p.Build = "name:build" packages = append(packages, bpPackages...) - p.AddStage(osbuild.NewRPMStage(rpmStageOptions(repos), rpmStageInputs(packages))) + p.AddStage(osbuild.NewRPMStage(rpmStageOptions(repos), osbuild.NewRpmStageSourceFilesInputs(packages))) p.AddStage(osbuild.NewFixBLSStage(&osbuild.FixBLSStageOptions{})) language, keyboard := c.GetPrimaryLocale() if language != nil { @@ -914,7 +914,7 @@ func containerTreePipeline(repos []rpmmd.RepoConfig, packages []rpmmd.PackageSpe p := new(osbuild.Pipeline) p.Name = "container-tree" p.Build = "name:build" - p.AddStage(osbuild.NewRPMStage(rpmStageOptions(repos), rpmStageInputs(packages))) + p.AddStage(osbuild.NewRPMStage(rpmStageOptions(repos), osbuild.NewRpmStageSourceFilesInputs(packages))) language, _ := c.GetPrimaryLocale() if language != nil { p.AddStage(osbuild.NewLocaleStage(&osbuild.LocaleStageOptions{Language: *language})) @@ -968,7 +968,7 @@ func anacondaTreePipeline(repos []rpmmd.RepoConfig, packages []rpmmd.PackageSpec p := new(osbuild.Pipeline) p.Name = "anaconda-tree" p.Build = "name:build" - p.AddStage(osbuild.NewRPMStage(rpmStageOptions(repos), rpmStageInputs(packages))) + p.AddStage(osbuild.NewRPMStage(rpmStageOptions(repos), osbuild.NewRpmStageSourceFilesInputs(packages))) for _, stage := range payloadStages { p.AddStage(stage) } diff --git a/internal/distro/rhel90beta/stage_inputs.go b/internal/distro/rhel90beta/stage_inputs.go index b74eb77c5..eb156bf2b 100644 --- a/internal/distro/rhel90beta/stage_inputs.go +++ b/internal/distro/rhel90beta/stage_inputs.go @@ -2,7 +2,6 @@ package rhel90beta import ( osbuild "github.com/osbuild/osbuild-composer/internal/osbuild2" - "github.com/osbuild/osbuild-composer/internal/rpmmd" ) func bootISOMonoStageInputs() *osbuild.BootISOMonoStageInputs { @@ -15,22 +14,6 @@ func bootISOMonoStageInputs() *osbuild.BootISOMonoStageInputs { } } -func rpmStageInputs(specs []rpmmd.PackageSpec) *osbuild.RPMStageInputs { - stageInput := new(osbuild.RPMStageInput) - stageInput.Type = "org.osbuild.files" - stageInput.Origin = "org.osbuild.source" - stageInput.References = pkgRefs(specs) - return &osbuild.RPMStageInputs{Packages: stageInput} -} - -func pkgRefs(specs []rpmmd.PackageSpec) osbuild.RPMStageReferences { - refs := make([]string, len(specs)) - for idx, pkg := range specs { - refs[idx] = pkg.Checksum - } - return refs -} - func ostreePullStageInputs(origin, source, commitRef string) *osbuild.OSTreePullStageInputs { pullStageInput := new(osbuild.OSTreePullStageInput) pullStageInput.Type = "org.osbuild.ostree" diff --git a/internal/osbuild2/rpm_stage.go b/internal/osbuild2/rpm_stage.go index 993411006..59b9bea40 100644 --- a/internal/osbuild2/rpm_stage.go +++ b/internal/osbuild2/rpm_stage.go @@ -107,3 +107,19 @@ func RPMPackageMetadataToSignature(pkg RPMPackageMetadata) *string { } return nil } + +func NewRpmStageSourceFilesInputs(specs []rpmmd.PackageSpec) *RPMStageInputs { + stageInput := new(RPMStageInput) + stageInput.Type = "org.osbuild.files" + stageInput.Origin = "org.osbuild.source" + stageInput.References = pkgRefs(specs) + return &RPMStageInputs{Packages: stageInput} +} + +func pkgRefs(specs []rpmmd.PackageSpec) RPMStageReferences { + refs := make([]string, len(specs)) + for idx, pkg := range specs { + refs[idx] = pkg.Checksum + } + return refs +}