From 10c5fb7ac4acff3411573d90f5092607740eeb6f Mon Sep 17 00:00:00 2001 From: Mikhail Klementev Date: Thu, 25 May 2023 06:36:02 +0000 Subject: [PATCH] feat: generate all kernels if no distro is set --- kernel.go | 29 ++++++++++++++++++++--------- 1 file changed, 20 insertions(+), 9 deletions(-) diff --git a/kernel.go b/kernel.go index aa64771..d4df43e 100644 --- a/kernel.go +++ b/kernel.go @@ -269,8 +269,8 @@ func (cmd KernelAutogenCmd) Run(kernelCmd *KernelCmd, g *Globals) (err error) { } type KernelGenallCmd struct { - Distro string `required:"" help:"distribution"` - Ver string `required:"" help:"distro version"` + Distro string `help:"distribution"` + Ver string `help:"distro version"` } func (cmd *KernelGenallCmd) Run(kernelCmd *KernelCmd, g *Globals) (err error) { @@ -281,13 +281,24 @@ func (cmd *KernelGenallCmd) Run(kernelCmd *KernelCmd, g *Globals) (err error) { kernel.SetSigintHandler(&kernelCmd.shutdown) - km := config.Target{ - Distro: distro.Distro{ID: distroType, Release: cmd.Ver}, - Kernel: config.Kernel{Regex: ".*"}, - } - err = kernelCmd.Generate(g, km, math.MaxUint32) - if err != nil { - return + for _, dist := range distro.List() { + if distroType != distro.None && distroType != dist.ID { + continue + } + + if cmd.Ver != "" && dist.Release != cmd.Ver { + continue + } + + target := config.Target{ + Distro: dist, + Kernel: config.Kernel{Regex: ".*"}, + } + + err = kernelCmd.Generate(g, target, math.MaxUint32) + if err != nil { + return + } } return kernelCmd.UpdateConfig()