From 6b1033eaa04fba5f658a9b5e68ebf43a9a06528c Mon Sep 17 00:00:00 2001 From: Kir Kolyshkin Date: Sat, 29 Mar 2025 19:02:49 -0700 Subject: [PATCH] libpod/events: refactor to eliminate unused code Shuffle the code around to eliminate "unused" warnings when linting with various GOOS and build tags. The only change in functionality should be that now NewEventer returns ErrNoJournaldLogging (rather than "unknown event logger type") on freebsd when journald is requested. Signed-off-by: Kir Kolyshkin --- libpod/events/default_journal.go | 6 ++++++ libpod/events/default_logfile.go | 7 +++++++ libpod/events/events.go | 10 --------- libpod/events/events_freebsd.go | 21 ------------------- .../{events_linux.go => events_supported.go} | 19 +++++++++++++++++ libpod/events/filters.go | 2 ++ libpod/events/journal_linux.go | 3 --- libpod/events/journal_unsupported.go | 5 +---- libpod/events/nullout.go | 6 ------ 9 files changed, 35 insertions(+), 44 deletions(-) create mode 100644 libpod/events/default_journal.go create mode 100644 libpod/events/default_logfile.go delete mode 100644 libpod/events/events_freebsd.go rename libpod/events/{events_linux.go => events_supported.go} (55%) diff --git a/libpod/events/default_journal.go b/libpod/events/default_journal.go new file mode 100644 index 0000000000..e1f1542a67 --- /dev/null +++ b/libpod/events/default_journal.go @@ -0,0 +1,6 @@ +//go:build systemd && linux + +package events + +// DefaultEventerType is journald when systemd is available. +const DefaultEventerType = Journald diff --git a/libpod/events/default_logfile.go b/libpod/events/default_logfile.go new file mode 100644 index 0000000000..6076deb17f --- /dev/null +++ b/libpod/events/default_logfile.go @@ -0,0 +1,7 @@ +//go:build !systemd || !linux + +package events + +// DefaultEventerType is logfile when systemd is not present +// or not supported. +const DefaultEventerType = LogFile diff --git a/libpod/events/events.go b/libpod/events/events.go index b237bca9ed..2b699b33c0 100644 --- a/libpod/events/events.go +++ b/libpod/events/events.go @@ -98,16 +98,6 @@ func (e *Event) ToHumanReadable(truncate bool) string { return humanFormat } -// newEventFromJSONString takes stringified json and converts -// it to an event -func newEventFromJSONString(event string) (*Event, error) { - e := new(Event) - if err := json.Unmarshal([]byte(event), e); err != nil { - return nil, err - } - return e, nil -} - // String converts a Type to a string func (t Type) String() string { return string(t) diff --git a/libpod/events/events_freebsd.go b/libpod/events/events_freebsd.go deleted file mode 100644 index 64528cfdf9..0000000000 --- a/libpod/events/events_freebsd.go +++ /dev/null @@ -1,21 +0,0 @@ -package events - -import ( - "fmt" - "strings" - - "github.com/sirupsen/logrus" -) - -// NewEventer creates an eventer based on the eventer type -func NewEventer(options EventerOptions) (Eventer, error) { - logrus.Debugf("Initializing event backend %s", options.EventerType) - switch EventerType(strings.ToLower(options.EventerType)) { - case LogFile: - return EventLogFile{options}, nil - case Null: - return newNullEventer(), nil - default: - return nil, fmt.Errorf("unknown event logger type: %s", strings.ToLower(options.EventerType)) - } -} diff --git a/libpod/events/events_linux.go b/libpod/events/events_supported.go similarity index 55% rename from libpod/events/events_linux.go rename to libpod/events/events_supported.go index 0b8d380a34..825c80a585 100644 --- a/libpod/events/events_linux.go +++ b/libpod/events/events_supported.go @@ -1,6 +1,9 @@ +//go:build linux || freebsd + package events import ( + "encoding/json" "fmt" "strings" @@ -21,3 +24,19 @@ func NewEventer(options EventerOptions) (Eventer, error) { return nil, fmt.Errorf("unknown event logger type: %s", strings.ToLower(options.EventerType)) } } + +// newEventFromJSONString takes stringified json and converts +// it to an event +func newEventFromJSONString(event string) (*Event, error) { + e := new(Event) + if err := json.Unmarshal([]byte(event), e); err != nil { + return nil, err + } + return e, nil +} + +// newNullEventer returns a new null eventer. You should only do this for +// the purposes of internal libpod testing. +func newNullEventer() Eventer { + return EventToNull{} +} diff --git a/libpod/events/filters.go b/libpod/events/filters.go index e502546be4..00bdd19ee5 100644 --- a/libpod/events/filters.go +++ b/libpod/events/filters.go @@ -1,3 +1,5 @@ +//go:build linux || freebsd + package events import ( diff --git a/libpod/events/journal_linux.go b/libpod/events/journal_linux.go index caee397c10..b239242dac 100644 --- a/libpod/events/journal_linux.go +++ b/libpod/events/journal_linux.go @@ -17,9 +17,6 @@ import ( "github.com/sirupsen/logrus" ) -// DefaultEventerType is journald when systemd is available -const DefaultEventerType = Journald - // EventJournalD is the journald implementation of an eventer type EventJournalD struct { options EventerOptions diff --git a/libpod/events/journal_unsupported.go b/libpod/events/journal_unsupported.go index 10fb00b716..07449e434e 100644 --- a/libpod/events/journal_unsupported.go +++ b/libpod/events/journal_unsupported.go @@ -1,10 +1,7 @@ -//go:build !systemd +//go:build (linux && !systemd) || freebsd package events -// DefaultEventerType is logfile when systemd is not present -const DefaultEventerType = LogFile - // newJournalDEventer always returns an error if libsystemd not found func newJournalDEventer(options EventerOptions) (Eventer, error) { return nil, ErrNoJournaldLogging diff --git a/libpod/events/nullout.go b/libpod/events/nullout.go index ff08c84ea4..369dd4a92c 100644 --- a/libpod/events/nullout.go +++ b/libpod/events/nullout.go @@ -19,12 +19,6 @@ func (e EventToNull) Read(ctx context.Context, options ReadOptions) error { return errors.New("cannot read events with the \"none\" backend") } -// newNullEventer returns a new null eventer. You should only do this for -// the purposes of internal libpod testing. -func newNullEventer() Eventer { - return EventToNull{} -} - // String returns a string representation of the logger func (e EventToNull) String() string { return "none"