mirror of
https://github.com/mudler/luet.git
synced 2025-08-09 11:17:56 +00:00
Don't try to solve finalizers with --nodeps
This commit is contained in:
parent
a94e430a3b
commit
dc64dbff75
@ -337,45 +337,72 @@ func (l *LuetInstaller) install(syncedRepos Repositories, cp []pkg.Package, s *S
|
|||||||
}
|
}
|
||||||
executedFinalizer := map[string]bool{}
|
executedFinalizer := map[string]bool{}
|
||||||
|
|
||||||
// TODO: Lower those errors as warning
|
if !l.Options.NoDeps {
|
||||||
for _, w := range p {
|
// TODO: Lower those errors as warning
|
||||||
// Finalizers needs to run in order and in sequence.
|
for _, w := range p {
|
||||||
ordered := solution.Order(allRepos, w.GetFingerPrint())
|
// Finalizers needs to run in order and in sequence.
|
||||||
ORDER:
|
ordered := solution.Order(allRepos, w.GetFingerPrint())
|
||||||
for _, ass := range ordered {
|
ORDER:
|
||||||
if ass.Value {
|
for _, ass := range ordered {
|
||||||
|
if ass.Value {
|
||||||
|
|
||||||
installed, ok := toInstall[ass.Package.GetFingerPrint()]
|
installed, ok := toInstall[ass.Package.GetFingerPrint()]
|
||||||
if !ok {
|
if !ok {
|
||||||
// It was a dep already installed in the system, so we can skip it safely
|
// It was a dep already installed in the system, so we can skip it safely
|
||||||
continue ORDER
|
continue ORDER
|
||||||
}
|
|
||||||
|
|
||||||
treePackage, err := installed.Repository.GetTree().GetDatabase().FindPackage(ass.Package)
|
|
||||||
if err != nil {
|
|
||||||
return errors.Wrap(err, "Error getting package "+ass.Package.HumanReadableString())
|
|
||||||
}
|
|
||||||
if helpers.Exists(treePackage.Rel(tree.FinalizerFile)) {
|
|
||||||
Info("Executing finalizer for " + ass.Package.HumanReadableString())
|
|
||||||
finalizerRaw, err := ioutil.ReadFile(treePackage.Rel(tree.FinalizerFile))
|
|
||||||
if err != nil && !l.Options.Force {
|
|
||||||
return errors.Wrap(err, "Error reading file "+treePackage.Rel(tree.FinalizerFile))
|
|
||||||
}
|
}
|
||||||
if _, exists := executedFinalizer[ass.Package.GetFingerPrint()]; !exists {
|
|
||||||
finalizer, err := NewLuetFinalizerFromYaml(finalizerRaw)
|
treePackage, err := installed.Repository.GetTree().GetDatabase().FindPackage(ass.Package)
|
||||||
|
if err != nil {
|
||||||
|
return errors.Wrap(err, "Error getting package "+ass.Package.HumanReadableString())
|
||||||
|
}
|
||||||
|
if helpers.Exists(treePackage.Rel(tree.FinalizerFile)) {
|
||||||
|
Info("Executing finalizer for " + ass.Package.HumanReadableString())
|
||||||
|
finalizerRaw, err := ioutil.ReadFile(treePackage.Rel(tree.FinalizerFile))
|
||||||
if err != nil && !l.Options.Force {
|
if err != nil && !l.Options.Force {
|
||||||
return errors.Wrap(err, "Error reading finalizer "+treePackage.Rel(tree.FinalizerFile))
|
return errors.Wrap(err, "Error reading file "+treePackage.Rel(tree.FinalizerFile))
|
||||||
}
|
}
|
||||||
err = finalizer.RunInstall()
|
if _, exists := executedFinalizer[ass.Package.GetFingerPrint()]; !exists {
|
||||||
if err != nil && !l.Options.Force {
|
finalizer, err := NewLuetFinalizerFromYaml(finalizerRaw)
|
||||||
return errors.Wrap(err, "Error executing install finalizer "+treePackage.Rel(tree.FinalizerFile))
|
if err != nil && !l.Options.Force {
|
||||||
|
return errors.Wrap(err, "Error reading finalizer "+treePackage.Rel(tree.FinalizerFile))
|
||||||
|
}
|
||||||
|
err = finalizer.RunInstall()
|
||||||
|
if err != nil && !l.Options.Force {
|
||||||
|
return errors.Wrap(err, "Error executing install finalizer "+treePackage.Rel(tree.FinalizerFile))
|
||||||
|
}
|
||||||
|
executedFinalizer[ass.Package.GetFingerPrint()] = true
|
||||||
}
|
}
|
||||||
executedFinalizer[ass.Package.GetFingerPrint()] = true
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
for _, c := range toInstall {
|
||||||
|
treePackage, err := c.Repository.GetTree().GetDatabase().FindPackage(c.Package)
|
||||||
|
if err != nil {
|
||||||
|
return errors.Wrap(err, "Error getting package "+c.Package.HumanReadableString())
|
||||||
|
}
|
||||||
|
if helpers.Exists(treePackage.Rel(tree.FinalizerFile)) {
|
||||||
|
Info("Executing finalizer for " + c.Package.HumanReadableString())
|
||||||
|
finalizerRaw, err := ioutil.ReadFile(treePackage.Rel(tree.FinalizerFile))
|
||||||
|
if err != nil && !l.Options.Force {
|
||||||
|
return errors.Wrap(err, "Error reading file "+treePackage.Rel(tree.FinalizerFile))
|
||||||
|
}
|
||||||
|
if _, exists := executedFinalizer[c.Package.GetFingerPrint()]; !exists {
|
||||||
|
finalizer, err := NewLuetFinalizerFromYaml(finalizerRaw)
|
||||||
|
if err != nil && !l.Options.Force {
|
||||||
|
return errors.Wrap(err, "Error reading finalizer "+treePackage.Rel(tree.FinalizerFile))
|
||||||
|
}
|
||||||
|
err = finalizer.RunInstall()
|
||||||
|
if err != nil && !l.Options.Force {
|
||||||
|
return errors.Wrap(err, "Error executing install finalizer "+treePackage.Rel(tree.FinalizerFile))
|
||||||
|
}
|
||||||
|
executedFinalizer[c.Package.GetFingerPrint()] = true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return nil
|
return nil
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user