distro: add support udev rules to image config

Add support for defining udev rules via the recently added udev.rules
stage to the image configs and all pipelines support it.
This commit is contained in:
Christian Kellner 2022-05-13 16:57:45 +02:00
parent e08fd989ed
commit 9d5787a475
5 changed files with 20 additions and 0 deletions

View file

@ -46,6 +46,7 @@ type ImageConfig struct {
DNFAutomaticConfig *osbuild2.DNFAutomaticConfigStageOptions
YUMRepos []*osbuild2.YumReposStageOptions
Firewall *osbuild2.FirewallStageOptions
UdevRules *osbuild2.UdevRulesStageOptions
}
// InheritFrom inherits unset values from the provided parent configuration and
@ -137,6 +138,9 @@ func (c *ImageConfig) InheritFrom(parentConfig *ImageConfig) *ImageConfig {
if finalConfig.Firewall == nil {
finalConfig.Firewall = parentConfig.Firewall
}
if finalConfig.UdevRules == nil {
finalConfig.UdevRules = parentConfig.UdevRules
}
}
return &finalConfig
}

View file

@ -332,6 +332,10 @@ func osPipelineRhel86(t *imageTypeS2,
p.AddStage(osbuild.NewYumReposStage(yumRepo))
}
if udevRules := imageConfig.UdevRules; udevRules != nil {
p.AddStage(osbuild.NewUdevRulesStage(udevRules))
}
if pt != nil {
p = t.prependKernelCmdlineStage(p, pt)
p.AddStage(osbuild.NewFSTabStage(osbuild.NewFSTabStageOptions(pt)))

View file

@ -667,6 +667,10 @@ func osPipelineRhel86(t *imageType,
p.AddStage(osbuild.NewYumReposStage(yumRepo))
}
if udevRules := imageConfig.UdevRules; udevRules != nil {
p.AddStage(osbuild.NewUdevRulesStage(udevRules))
}
if pt != nil {
p = prependKernelCmdlineStage(p, t, pt)
p.AddStage(osbuild.NewFSTabStage(osbuild.NewFSTabStageOptions(pt)))

View file

@ -602,6 +602,10 @@ func osPipeline(t *imageType,
p.AddStage(osbuild.NewYumReposStage(yumRepo))
}
if udevRules := imageConfig.UdevRules; udevRules != nil {
p.AddStage(osbuild.NewUdevRulesStage(udevRules))
}
if pt != nil {
p = prependKernelCmdlineStage(p, t, pt)
p.AddStage(osbuild.NewFSTabStage(osbuild.NewFSTabStageOptions(pt)))

View file

@ -594,6 +594,10 @@ func osPipeline(t *imageType,
p.AddStage(osbuild.NewYumReposStage(yumRepo))
}
if udevRules := imageConfig.UdevRules; udevRules != nil {
p.AddStage(osbuild.NewUdevRulesStage(udevRules))
}
if pt != nil {
kernelOptions := osbuild.GenImageKernelOptions(pt)
if t.kernelOptions != "" {