forked from Plemya-x/ALR
wip
This commit is contained in:
@ -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
|
||||
}
|
||||
|
Reference in New Issue
Block a user