From 3a068ed90bb9c0708a4020889b521413d07ce2e9 Mon Sep 17 00:00:00 2001 From: roboogg133 Date: Thu, 18 Sep 2025 20:47:08 -0300 Subject: [PATCH] InstallPackage from pkg running luascript hook --- pkg/main.go | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/pkg/main.go b/pkg/main.go index afa108a..275cc5e 100644 --- a/pkg/main.go +++ b/pkg/main.go @@ -6,10 +6,12 @@ import ( "os" "packets/configs" "packets/internal/utils" + utils_lua "packets/internal/utils/lua" "path/filepath" "strings" "github.com/klauspost/compress/zstd" + lua "github.com/yuin/gopher-lua" ) // Install exctract and install from a package file ( tar.zst ) @@ -20,14 +22,14 @@ func InstallPackage(file *os.File) error { return err } - name := &manifest.Info.Name + name := manifest.Info.Name configuration, err := configs.GetConfigTOML() if err != nil { return err } - destDir := filepath.Join(configuration.Config.Data_d, *name) + destDir := filepath.Join(configuration.Config.Data_d, name) zstdReader, err := zstd.NewReader(file) if err != nil { @@ -91,5 +93,16 @@ func InstallPackage(file *os.File) error { } } + L, err := utils_lua.GetSandBox(destDir) + if err != nil { + return err + } + L.SetGlobal("data_dir", lua.LFalse) + L.SetGlobal("script", lua.LString(manifest.Hooks.Install)) + + if err := L.DoFile(manifest.Hooks.Install); err != nil { + return err + } + return nil }