From ab6e1341dc5eb06b6573571f8c17e19d0c393418 Mon Sep 17 00:00:00 2001 From: Paul Buetow Date: Tue, 7 Jul 2026 00:17:27 +0300 Subject: can manage dnf packages --- api/options/option.go | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'api/options/option.go') diff --git a/api/options/option.go b/api/options/option.go index fcffccd..1d9b931 100644 --- a/api/options/option.go +++ b/api/options/option.go @@ -21,6 +21,7 @@ type ( FileModed interface{ SetFileMode(os.FileMode) } Prunable interface{ SetPrune() } Absentable interface{ SetAbsent() } + Latestable interface{ SetLatest() } Linkable interface { SetSymlink(target string) SetHardlink(target string) @@ -117,6 +118,17 @@ var IsAbsent = func(t any) { func IsAbsentFunc() Option { return IsAbsent } +// IsLatest marks the package resource to be updated to the latest version. +var IsLatest = func(t any) { + r, ok := t.(Latestable) + if !ok { + log.Fatalf("%T does not support IsLatest", t) + } + r.SetLatest() +} + +func IsLatestFunc() Option { return IsLatest } + // WithSymlink makes the resource a symbolic link pointing at target. func WithSymlink(target string) Option { return func(t any) { -- cgit v1.2.3