fix "podman -h" help output

`podman -h` currently returns an error:
`Error: pflag: help requested`

This bug was introduced in 44d037898e, the problem is that we wrap the
error and cobra lib checks with `==` for this one and not errors.Is().
I have a PR upstream to fix this but for now this also works.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
This commit is contained in:
Paul Holzinger
2022-06-16 16:20:30 +02:00
parent 82936d8988
commit 09c462d735
2 changed files with 10 additions and 1 deletions

View File

@@ -1,6 +1,7 @@
package main
import (
"errors"
"fmt"
"os"
@@ -26,6 +27,7 @@ import (
"github.com/containers/storage/pkg/reexec"
"github.com/sirupsen/logrus"
"github.com/spf13/cobra"
"github.com/spf13/pflag"
)
func main() {
@@ -101,6 +103,13 @@ func parseCommands() *cobra.Command {
}
func flagErrorFuncfunc(c *cobra.Command, e error) error {
// cobra compares via == and not errors.Is so we cannot wrap that error.
// This is required to make podman -h work.
// This can be removed once https://github.com/spf13/cobra/pull/1730
// is merged and vendored into podman.
if errors.Is(e, pflag.ErrHelp) {
return e
}
e = fmt.Errorf("%w\nSee '%s --help'", e, c.CommandPath())
return e
}