This commit is contained in:
2025-04-14 23:35:10 +03:00
parent e3aaa88822
commit 6d5016270f
21 changed files with 449 additions and 349 deletions

View File

@ -19,27 +19,34 @@ package build
import (
"log/slog"
"gitea.plemya-x.ru/Plemya-x/ALR/internal/utils"
"gitea.plemya-x.ru/Plemya-x/ALR/pkg/manager"
)
func NewMainBuilder(
cfg Config,
repos PackageFinder,
) *Builder {
) (*Builder, error) {
installerExecutor, err := GetSafeInstaller()
if err != nil {
slog.Error("i will panic GetSafeInstaller", "err", err)
return nil, err
}
// It is very important!
// See https://stackoverflow.com/questions/47296408/cannot-open-uid-map-for-writing-from-an-app-with-cap-setuid-capability-set
if err := utils.NoNewPrivs(); err != nil {
return nil, err
}
s, err := GetSafeScriptExecutor()
if err != nil {
slog.Info("i will panic")
panic(err)
slog.Error("i will panic GetSafeScriptExecutor", "err", err)
return nil, err
}
mgr := manager.Detect()
installerExecutor, err := GetSafeInstaller()
if err != nil {
slog.Info("i will panic")
panic(err)
}
builder := &Builder{
scriptExecutor: s,
cacheExecutor: &Cache{
@ -61,5 +68,5 @@ func NewMainBuilder(
repos: repos,
}
return builder
return builder, nil
}