Merge pull request #6311 from mheon/fix_darwin_build

Fix build on OS X
This commit is contained in:
OpenShift Merge Robot 2020-05-21 14:22:49 +02:00 committed by GitHub
commit 72e880351a
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 70 additions and 29 deletions

View file

@ -9,20 +9,18 @@ import (
"github.com/containers/libpod/cmd/podman/registry"
"github.com/containers/libpod/pkg/domain/entities"
"github.com/containers/psgo"
"github.com/containers/libpod/pkg/util"
"github.com/pkg/errors"
"github.com/spf13/cobra"
"github.com/spf13/pflag"
)
var (
topDescription = fmt.Sprintf(`Similar to system "top" command.
topDescription = `Similar to system "top" command.
Specify format descriptors to alter the output.
Running "podman top -l pid pcpu seccomp" will print the process ID, the CPU percentage and the seccomp mode of each process of the latest container.
Format Descriptors:
%s`, strings.Join(psgo.ListDescriptors(), ","))
Running "podman top -l pid pcpu seccomp" will print the process ID, the CPU percentage and the seccomp mode of each process of the latest container.`
topOptions = entities.TopOptions{}
@ -68,6 +66,12 @@ func init() {
flags := topCommand.Flags()
topFlags(flags)
descriptors, err := util.GetContainerPidInformationDescriptors()
if err == nil {
topDescription = fmt.Sprintf("%s\n\n Format Descriptors:\n %s", topDescription, strings.Join(descriptors, ","))
topCommand.Long = topDescription
}
registry.Commands = append(registry.Commands, registry.CliCommand{
Mode: []entities.EngineMode{entities.ABIMode, entities.TunnelMode},
Command: containerTopCommand,
@ -79,7 +83,11 @@ func init() {
func top(cmd *cobra.Command, args []string) error {
if topOptions.ListDescriptors {
fmt.Println(strings.Join(psgo.ListDescriptors(), "\n"))
descriptors, err := util.GetContainerPidInformationDescriptors()
if err != nil {
return err
}
fmt.Println(strings.Join(descriptors, "\n"))
return nil
}

View file

@ -9,17 +9,15 @@ import (
"github.com/containers/libpod/cmd/podman/registry"
"github.com/containers/libpod/pkg/domain/entities"
"github.com/containers/psgo"
"github.com/containers/libpod/pkg/util"
"github.com/pkg/errors"
"github.com/spf13/cobra"
)
var (
topDescription = fmt.Sprintf(`Specify format descriptors to alter the output.
topDescription = `Specify format descriptors to alter the output.
You may run "podman pod top -l pid pcpu seccomp" to print the process ID, the CPU percentage and the seccomp mode of each process of the latest pod.
Format Descriptors:
%s`, strings.Join(psgo.ListDescriptors(), ","))
You may run "podman pod top -l pid pcpu seccomp" to print the process ID, the CPU percentage and the seccomp mode of each process of the latest pod.`
topOptions = entities.PodTopOptions{}
@ -43,6 +41,12 @@ func init() {
Parent: podCmd,
})
descriptors, err := util.GetContainerPidInformationDescriptors()
if err == nil {
topDescription = fmt.Sprintf("%s\n\n Format Descriptors:\n %s", topDescription, strings.Join(descriptors, ","))
topCommand.Long = topDescription
}
flags := topCommand.Flags()
flags.SetInterspersed(false)
flags.BoolVar(&topOptions.ListDescriptors, "list-descriptors", false, "")
@ -56,7 +60,11 @@ func init() {
func top(cmd *cobra.Command, args []string) error {
if topOptions.ListDescriptors {
fmt.Println(strings.Join(psgo.ListDescriptors(), "\n"))
descriptors, err := util.GetContainerPidInformationDescriptors()
if err != nil {
return err
}
fmt.Println(strings.Join(descriptors, "\n"))
return nil
}

View file

@ -2,7 +2,6 @@ package main
import (
"fmt"
"log/syslog"
"os"
"path"
"runtime/pprof"
@ -17,7 +16,6 @@ import (
"github.com/opentracing/opentracing-go"
"github.com/pkg/errors"
"github.com/sirupsen/logrus"
logrusSyslog "github.com/sirupsen/logrus/hooks/syslog"
"github.com/spf13/cobra"
"github.com/spf13/pflag"
)
@ -191,21 +189,6 @@ func loggingHook() {
}
}
func syslogHook() {
if !useSyslog {
return
}
hook, err := logrusSyslog.NewSyslogHook("", "", syslog.LOG_INFO, "")
if err != nil {
fmt.Fprint(os.Stderr, "Failed to initialize syslog hook: "+err.Error())
os.Exit(1)
}
if err == nil {
logrus.AddHook(hook)
}
}
func rootFlags(opts *entities.PodmanConfig, flags *pflag.FlagSet) {
// V2 flags
flags.StringVarP(&opts.Uri, "remote", "r", registry.DefaultAPIAddress(), "URL to access Podman service")

View file

@ -0,0 +1,25 @@
package main
import (
"fmt"
"log/syslog"
"os"
"github.com/sirupsen/logrus"
logrusSyslog "github.com/sirupsen/logrus/hooks/syslog"
)
func syslogHook() {
if !useSyslog {
return
}
hook, err := logrusSyslog.NewSyslogHook("", "", syslog.LOG_INFO, "")
if err != nil {
fmt.Fprint(os.Stderr, "Failed to initialize syslog hook: "+err.Error())
os.Exit(1)
}
if err == nil {
logrus.AddHook(hook)
}
}

View file

@ -0,0 +1,17 @@
// +build !linux
package main
import (
"fmt"
"os"
)
func syslogHook() {
if !useSyslog {
return
}
fmt.Fprintf(os.Stderr, "Logging to Syslog is not supported on Windows")
os.Exit(1)
}