mirror of
https://github.com/mudler/luet.git
synced 2025-10-20 10:23:09 +00:00
Load tree when generating repo
This commit is contained in:
@@ -28,6 +28,7 @@ import (
|
||||
. "github.com/mudler/luet/pkg/logger"
|
||||
pkg "github.com/mudler/luet/pkg/package"
|
||||
"github.com/mudler/luet/pkg/solver"
|
||||
"github.com/mudler/luet/pkg/tree"
|
||||
|
||||
"github.com/pkg/errors"
|
||||
)
|
||||
@@ -219,18 +220,18 @@ func (l *LuetInstaller) Install(p []pkg.Package, s *System) error {
|
||||
return errors.Wrap(err, "Error getting package "+ass.Package.GetFingerPrint())
|
||||
}
|
||||
|
||||
finalizerRaw, err := ioutil.ReadFile(treePackage.Rel("finalizer.yaml"))
|
||||
finalizerRaw, err := ioutil.ReadFile(treePackage.Rel(tree.FinalizerFile))
|
||||
if err != nil {
|
||||
return errors.Wrap(err, "Error reading file "+treePackage.Rel("finalizer.yaml"))
|
||||
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 {
|
||||
return errors.Wrap(err, "Error reading finalizer "+treePackage.Rel("finalizer.yaml"))
|
||||
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("finalizer.yaml"))
|
||||
return errors.Wrap(err, "Error executing install finalizer "+treePackage.Rel(tree.FinalizerFile))
|
||||
}
|
||||
executedFinalizer[ass.Package.GetFingerPrint()] = true
|
||||
}
|
||||
|
@@ -80,6 +80,7 @@ var _ = Describe("Installer", func() {
|
||||
Expect(content2).To(Equal("artifact6\n"))
|
||||
|
||||
Expect(helpers.Exists(spec.Rel("b-test-1.0.package.tar"))).To(BeTrue())
|
||||
Expect(helpers.Exists(spec.Rel("b-test-1.0.metadata.yaml"))).To(BeTrue())
|
||||
|
||||
})
|
||||
|
||||
|
@@ -43,18 +43,23 @@ type LuetRepository struct {
|
||||
Type string `json:"type"`
|
||||
}
|
||||
|
||||
func GenerateRepository(name, uri string, priority int, src, tree string, db pkg.PackageDatabase) (Repository, error) {
|
||||
func GenerateRepository(name, uri, t string, priority int, src, treeDir string, db pkg.PackageDatabase) (Repository, error) {
|
||||
|
||||
art, err := buildPackageIndex(src)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
tr := tree.NewInstallerRecipe(db)
|
||||
err = tr.Load(treeDir)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return NewLuetRepository(name, uri, priority, art, db), nil
|
||||
return NewLuetRepository(name, uri, t, priority, art, tr), nil
|
||||
}
|
||||
|
||||
func NewLuetRepository(name, uri string, priority int, art []compiler.Artifact, db pkg.PackageDatabase) Repository {
|
||||
return &LuetRepository{Index: art, Tree: tree.NewInstallerRecipe(db)}
|
||||
func NewLuetRepository(name, uri, t string, priority int, art []compiler.Artifact, builder tree.Builder) Repository {
|
||||
return &LuetRepository{Index: art, Type: t, Tree: builder}
|
||||
}
|
||||
|
||||
func NewLuetRepositoryFromYaml(data []byte) (Repository, error) {
|
||||
|
Reference in New Issue
Block a user