manifest: don't use the users flag in NewAnacondaStageOptions()

Before we only had one optional kickstart module we would enable that
was Users, so we just had a single boolean for adding it.  Now that we
often need to add multiple modules, keep the default ones in the
NewAnacondaStageOptions() function, but only have a single argument for
adding additional, optional modules.  If the user module needs to be
enabled, add it to the list of additional ones.
This commit is contained in:
Achilleas Koutsou 2022-12-13 15:29:37 +01:00 committed by Tom Gundersen
parent 5485a3cb65
commit a63fe649cb
5 changed files with 15 additions and 5 deletions

View file

@ -211,12 +211,12 @@ func imageInstallerImage(workload workload.Workload,
if strings.HasPrefix(distro.Name(), "fedora") && !common.VersionLessThan(distro.Releasever(), "38") {
img.AdditionalAnacondaModules = []string{
"org.fedoraproject.Anaconda.Modules.Security",
"org.fedoraproject.Anaconda.Modules.Users",
"org.fedoraproject.Anaconda.Modules.Timezone",
"org.fedoraproject.Anaconda.Modules.Localization",
}
img.AdditionalKernelOpts = []string{"inst.webui", "inst.webui.remote"}
}
img.AdditionalAnacondaModules = append(img.AdditionalAnacondaModules, "org.fedoraproject.Anaconda.Modules.Users")
img.Platform = t.platform
img.Workload = workload
@ -325,6 +325,7 @@ func iotInstallerImage(workload workload.Workload,
img.ExtraBasePackages = packageSets[installerPkgsKey]
img.Users = users.UsersFromBP(customizations.GetUsers())
img.Groups = users.GroupsFromBP(customizations.GetGroups())
img.AdditionalAnacondaModules = []string{"org.fedoraproject.Anaconda.Modules.Users"}
img.SquashfsCompression = "lz4"

View file

@ -1064,7 +1064,12 @@ func anacondaTreePipeline(repos []rpmmd.RepoConfig, packages []rpmmd.PackageSpec
}
p.AddStage(osbuild.NewUsersStage(usersStageOptions))
p.AddStage(osbuild.NewAnacondaStage(osbuild.NewAnacondaStageOptions(users, []string{})))
anacondaModules := []string{}
if users {
anacondaModules = []string{"org.fedoraproject.Anaconda.Modules.Users"}
}
p.AddStage(osbuild.NewAnacondaStage(osbuild.NewAnacondaStageOptions(false, anacondaModules)))
p.AddStage(osbuild.NewLoraxScriptStage(loraxScriptStageOptions(arch)))
p.AddStage(osbuild.NewDracutStage(dracutStageOptions(kernelVer, arch, []string{
"anaconda",

View file

@ -294,6 +294,7 @@ func edgeInstallerImage(workload workload.Workload,
img.SquashfsCompression = "xz"
img.AdditionalDracutModules = []string{"prefixdevname", "prefixdevname-tools"}
img.AdditionalAnacondaModules = []string{"org.fedoraproject.Anaconda.Modules.Users"}
img.ISOLabelTempl = d.isolabelTmpl
img.Product = d.product
@ -436,6 +437,7 @@ func imageInstallerImage(workload workload.Workload,
img.Groups = users.GroupsFromBP(customizations.GetGroups())
img.AdditionalDracutModules = []string{"prefixdevname", "prefixdevname-tools"}
img.AdditionalAnacondaModules = []string{"org.fedoraproject.Anaconda.Modules.Users"}
img.SquashfsCompression = "xz"

View file

@ -35,7 +35,8 @@ type OSTreeInstaller struct {
Filename string
AdditionalDracutModules []string
AdditionalDracutModules []string
AdditionalAnacondaModules []string
}
func NewOSTreeInstaller(commit ostree.CommitSpec) *OSTreeInstaller {
@ -67,6 +68,7 @@ func (img *OSTreeInstaller) InstantiateManifest(m *manifest.Manifest,
anacondaPipeline.Biosdevname = (img.Platform.GetArch() == platform.ARCH_X86_64)
anacondaPipeline.Checkpoint()
anacondaPipeline.AdditionalDracutModules = img.AdditionalDracutModules
anacondaPipeline.AdditionalAnacondaModules = img.AdditionalAnacondaModules
rootfsPartitionTable := &disk.PartitionTable{
Size: 20 * common.MebiByte,

View file

@ -197,8 +197,8 @@ func (p *Anaconda) serialize() osbuild.Pipeline {
}
pipeline.AddStage(osbuild.NewUsersStage(usersStageOptions))
// always enable users module in anaconda
pipeline.AddStage(osbuild.NewAnacondaStage(osbuild.NewAnacondaStageOptions(true, p.AdditionalAnacondaModules)))
pipeline.AddStage(osbuild.NewAnacondaStage(osbuild.NewAnacondaStageOptions(false, p.AdditionalAnacondaModules)))
pipeline.AddStage(osbuild.NewLoraxScriptStage(&osbuild.LoraxScriptStageOptions{
Path: "99-generic/runtime-postinstall.tmpl",
BaseArch: p.platform.GetArch().String(),