diff --git a/kernel.go b/kernel.go index 0c59bf9..d858d42 100644 --- a/kernel.go +++ b/kernel.go @@ -97,8 +97,7 @@ func (cmd *KernelDockerRegenCmd) Run(kernelCmd *KernelCmd, g *Globals) (err erro } args := []string{"build"} - _, err = exec.Command("which", "podman").CombinedOutput() - if err == nil { + if dockerIsPodman() { args = append(args, "--squash-all") } args = append(args, "-t", d.ContainerName, imagePath) @@ -353,8 +352,7 @@ func generateBaseDockerImage(registry string, commands []config.DockerCommand, } args := []string{"build"} - _, err = exec.Command("which", "podman").CombinedOutput() - if err == nil { + if dockerIsPodman() { args = append(args, "--squash-all") } args = append(args, "-t", sk.DockerName(), imagePath) @@ -427,8 +425,7 @@ func dockerImageAppend(sk config.KernelMask, pkgname string) (err error) { } args := []string{"build"} - _, err = exec.Command("which", "podman").CombinedOutput() - if err == nil { + if dockerIsPodman() { args = append(args, "--squash-all") } args = append(args, "-t", sk.DockerName(), imagePath) @@ -766,3 +763,11 @@ func generateKernels(km config.KernelMask, registry string, } return } + +func dockerIsPodman() bool { + output, err := exec.Command("docker", "version").CombinedOutput() + if err != nil { + return false + } + return strings.Contains(string(output), "podman") +}