mirror of
https://github.com/mudler/luet.git
synced 2025-08-01 23:41:37 +00:00
Execute finalizers if present
This commit is contained in:
parent
3b9337a03b
commit
d4bb0e346e
@ -204,7 +204,7 @@ func (l *LuetInstaller) Install(p []pkg.Package, s *System) error {
|
|||||||
// TODO: Lower those errors as warning
|
// TODO: Lower those errors as warning
|
||||||
for _, w := range allwanted {
|
for _, w := range allwanted {
|
||||||
// Finalizers needs to run in order and in sequence.
|
// Finalizers needs to run in order and in sequence.
|
||||||
ordered := solution.Order(w.GetFingerPrint()).Drop(w)
|
ordered := solution.Order(w.GetFingerPrint())
|
||||||
for _, ass := range ordered {
|
for _, ass := range ordered {
|
||||||
if ass.Value && ass.Package.Flagged() {
|
if ass.Value && ass.Package.Flagged() {
|
||||||
// Annotate to the system that the package was installed
|
// Annotate to the system that the package was installed
|
||||||
@ -223,21 +223,23 @@ func (l *LuetInstaller) Install(p []pkg.Package, s *System) error {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return errors.Wrap(err, "Error getting package "+ass.Package.GetFingerPrint())
|
return errors.Wrap(err, "Error getting package "+ass.Package.GetFingerPrint())
|
||||||
}
|
}
|
||||||
|
if helpers.Exists(treePackage.Rel(tree.FinalizerFile)) {
|
||||||
finalizerRaw, err := ioutil.ReadFile(treePackage.Rel(tree.FinalizerFile))
|
Info("Executing finalizer for " + ass.Package.GetName())
|
||||||
if err != nil {
|
finalizerRaw, err := ioutil.ReadFile(treePackage.Rel(tree.FinalizerFile))
|
||||||
return errors.Wrap(err, "Error reading file "+treePackage.Rel(tree.FinalizerFile))
|
|
||||||
}
|
|
||||||
if _, exists := executedFinalizer[ass.Package.GetFingerPrint()]; !exists {
|
|
||||||
finalizer, err := NewLuetFinalizerFromYaml(finalizerRaw)
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
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 {
|
finalizer, err := NewLuetFinalizerFromYaml(finalizerRaw)
|
||||||
return errors.Wrap(err, "Error executing install finalizer "+treePackage.Rel(tree.FinalizerFile))
|
if err != nil {
|
||||||
|
return errors.Wrap(err, "Error reading finalizer "+treePackage.Rel(tree.FinalizerFile))
|
||||||
|
}
|
||||||
|
err = finalizer.RunInstall()
|
||||||
|
if err != nil {
|
||||||
|
return errors.Wrap(err, "Error executing install finalizer "+treePackage.Rel(tree.FinalizerFile))
|
||||||
|
}
|
||||||
|
executedFinalizer[ass.Package.GetFingerPrint()] = true
|
||||||
}
|
}
|
||||||
executedFinalizer[ass.Package.GetFingerPrint()] = true
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user