From 398c98bc51764eeb73818f3a3b96ccf16ae1b407 Mon Sep 17 00:00:00 2001 From: Thomas Hipp Date: Wed, 21 Sep 2022 16:42:23 +0200 Subject: [PATCH] managers/yum: Use --nobest only if available Signed-off-by: Thomas Hipp --- managers/yum.go | 36 ++++++++++++++++++++---------------- 1 file changed, 20 insertions(+), 16 deletions(-) diff --git a/managers/yum.go b/managers/yum.go index 1616290..0ff6de7 100644 --- a/managers/yum.go +++ b/managers/yum.go @@ -18,20 +18,6 @@ type yum struct { } func (m *yum) load() error { - var buf bytes.Buffer - globalFlags := []string{"-y"} - - shared.RunCommand(m.ctx, nil, &buf, "yum", "--help") - - scanner := bufio.NewScanner(&buf) - - for scanner.Scan() { - if strings.Contains(scanner.Text(), "--allowerasing") { - globalFlags = append(globalFlags, "--allowerasing") - break - } - } - m.commands = managerCommands{ clean: "yum", install: "yum", @@ -44,7 +30,9 @@ func (m *yum) load() error { clean: []string{ "clean", "all", }, - global: globalFlags, + global: []string{ + "-y", + }, install: []string{ "install", }, @@ -56,10 +44,26 @@ func (m *yum) load() error { }, update: []string{ "update", - "--nobest", }, } + var buf bytes.Buffer + + shared.RunCommand(m.ctx, nil, &buf, "yum", "--help") + + scanner := bufio.NewScanner(&buf) + + for scanner.Scan() { + if strings.Contains(scanner.Text(), "--allowerasing") { + m.flags.global = append(m.flags.global, "--allowerasing") + continue + } + + if strings.Contains(scanner.Text(), "--nobest") { + m.flags.update = append(m.flags.update, "--nobest") + } + } + return nil }