InstallPackage from pkg running luascript hook

This commit is contained in:
2025-09-18 20:47:08 -03:00
parent bdbc580c82
commit 3a068ed90b

View File

@@ -6,10 +6,12 @@ import (
"os" "os"
"packets/configs" "packets/configs"
"packets/internal/utils" "packets/internal/utils"
utils_lua "packets/internal/utils/lua"
"path/filepath" "path/filepath"
"strings" "strings"
"github.com/klauspost/compress/zstd" "github.com/klauspost/compress/zstd"
lua "github.com/yuin/gopher-lua"
) )
// Install exctract and install from a package file ( tar.zst ) // Install exctract and install from a package file ( tar.zst )
@@ -20,14 +22,14 @@ func InstallPackage(file *os.File) error {
return err return err
} }
name := &manifest.Info.Name name := manifest.Info.Name
configuration, err := configs.GetConfigTOML() configuration, err := configs.GetConfigTOML()
if err != nil { if err != nil {
return err return err
} }
destDir := filepath.Join(configuration.Config.Data_d, *name) destDir := filepath.Join(configuration.Config.Data_d, name)
zstdReader, err := zstd.NewReader(file) zstdReader, err := zstd.NewReader(file)
if err != nil { 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 return nil
} }