Don't check file conflicts while running installops

We already check at beginning during install/upgrade. Also, better
to not fail while upgrade has already started for a check that we already did.

Signed-off-by: Ettore Di Giacinto <mudler@sabayon.org>
This commit is contained in:
Ettore Di Giacinto
2021-08-11 10:31:09 +02:00
parent 220f8700ce
commit 16bb93e165

View File

@@ -286,10 +286,11 @@ func (l *LuetInstaller) swap(o Option, syncedRepos Repositories, toRemove pkg.Pa
} }
ops := l.getOpsWithOptions(toRemove, match, Option{ ops := l.getOpsWithOptions(toRemove, match, Option{
Force: o.Force, Force: o.Force,
NoDeps: false, NoDeps: false,
OnlyDeps: o.OnlyDeps, OnlyDeps: o.OnlyDeps,
RunFinalizers: false, RunFinalizers: false,
CheckFileConflicts: false,
}, o, syncedRepos, packages, assertions, allRepos) }, o, syncedRepos, packages, assertions, allRepos)
err = l.runOps(ops, s) err = l.runOps(ops, s)
@@ -313,6 +314,8 @@ type Option struct {
FullCleanUninstall bool FullCleanUninstall bool
OnlyDeps bool OnlyDeps bool
RunFinalizers bool RunFinalizers bool
CheckFileConflicts bool
} }
type operation struct { type operation struct {
@@ -518,10 +521,11 @@ func (l *LuetInstaller) Install(cp pkg.Packages, s *System) error {
} }
o := Option{ o := Option{
NoDeps: l.Options.NoDeps, NoDeps: l.Options.NoDeps,
Force: l.Options.Force, Force: l.Options.Force,
OnlyDeps: l.Options.OnlyDeps, OnlyDeps: l.Options.OnlyDeps,
RunFinalizers: true, CheckFileConflicts: true,
RunFinalizers: true,
} }
match, packages, assertions, allRepos, err := l.computeInstall(o, syncedRepos, cp, s) match, packages, assertions, allRepos, err := l.computeInstall(o, syncedRepos, cp, s)
if err != nil { if err != nil {
@@ -814,12 +818,14 @@ func (l *LuetInstaller) install(o Option, syncedRepos Repositories, toInstall ma
return errors.Wrap(err, "Downloading packages") return errors.Wrap(err, "Downloading packages")
} }
// Check file conflicts if o.CheckFileConflicts {
if err := l.checkFileconflicts(toInstall, true, s); err != nil { // Check file conflicts
if !l.Options.Force { if err := l.checkFileconflicts(toInstall, true, s); err != nil {
return errors.Wrap(err, "file conflict found") if !l.Options.Force {
} else { return errors.Wrap(err, "file conflict found")
Warning("file conflict found", err.Error()) } else {
Warning("file conflict found", err.Error())
}
} }
} }