internal/rosa: improve helper bindings
Test / Create distribution (push) Successful in 54s
Test / Sandbox (push) Successful in 2m59s
Test / Hakurei (push) Successful in 4m49s
Test / Sandbox (race detector) (push) Successful in 5m50s
Test / Hakurei (race detector) (push) Successful in 7m11s
Test / ShareFS (push) Successful in 7m32s
Test / Flake checks (push) Successful in 1m10s

This uses more intuitive names for some arguments and inverts their default value. Slices and nil-capable strings replace skip arguments.

Signed-off-by: Ophestra <cat@gensokyo.uk>
This commit is contained in:
cat
2026-08-10 21:55:47 +09:00
parent 7d86e19c07
commit 7193656b6a
47 changed files with 153 additions and 163 deletions
+1 -1
View File
@@ -39,7 +39,7 @@ package acl {
exec = make {
// makes assumptions about uid_map/gid_map
skipCheck = true;
check = nil;
};
inputs = [ attr, kernel-headers ];
+3 -3
View File
@@ -15,9 +15,9 @@ package awk {
chmod = true;
exec = make {
omitDefaults = true;
inPlace = true;
skipConfigure = true;
defaults = false;
chdir = false;
configure = nil;
make = [ "YACC='yacc -d -b awkgram'" ];
preCheck = "install -vD a.out /system/bin/awk\n";
install = "install -vD a.out /work/system/bin/awk";
+1 -1
View File
@@ -12,7 +12,7 @@ package bison {
toyboxEarly = true;
exec = make {
omitDefaults = true;
defaults = false;
check = [
"TESTSUITEFLAGS=" + jobsFlagE + "' " + skipGNUTests {
tests = [
+1 -1
View File
@@ -19,6 +19,6 @@ package byacc {
chmod = true;
exec = make {
omitDefaults = true;
defaults = false;
};
}
+4 -7
View File
@@ -15,13 +15,10 @@ package bzip2 {
enterSource = true;
exec = make {
skipConfigure = true;
skipCheck = true;
inPlace = true;
make = [
"CC=cc",
];
chdir = false;
configure = nil;
make = [ "CC=cc" ];
check = nil;
install = "make PREFIX=/work/system install";
};
}
+1 -1
View File
@@ -27,7 +27,7 @@ package cairo {
// runs the entire test suite in a single meson test
interactiveTest = true;
// only works with specific dependency versions
skipTest = true;
test = false;
};
inputs = [
+1 -1
View File
@@ -20,7 +20,7 @@ package cmake {
chmod = true;
exec = make {
omitDefaults = true;
defaults = false;
configureName = "/usr/src/cmake/bootstrap";
configure = {
+1 -1
View File
@@ -21,7 +21,7 @@ touch \
`;
exec = make {
inPlace = true;
chdir = false;
configureName = "../dist/configure";
forceAutoconf = true;
configure = {
+3 -3
View File
@@ -18,12 +18,12 @@ package elfutils {
];
exec = make {
// nonstandard glibc extension
skipCheck = true;
configure = {
"enable-deterministic-archives";
};
// nonstandard glibc extension
check = nil;
};
inputs = [
+4 -4
View File
@@ -22,17 +22,17 @@ package firmware {
];
exec = make {
omitDefaults = true;
skipConfigure = true;
inPlace = true;
defaults = false;
chdir = false;
configure = nil;
make = [
"DESTDIR=/work/system",
"install-zst",
];
// requires pre-commit
skipCheck = true;
check = nil;
install = "make " + jobsFlagE + " " + loadFlagE + " DESTDIR=/work/system dedup";
};
+1 -1
View File
@@ -22,7 +22,7 @@ package fuse {
postCompile = "python3 -m pytest test/";
// this project uses pytest
skipTest = true;
test = false;
};
inputs = [
+1 -1
View File
@@ -65,7 +65,7 @@ ln -s system/lib /work/
// This toolchain is hacked to pieces, it is not expected to ever work
// well in its current state. That does not matter as long as the
// toolchain it produces passes its own test suite.
skipCheck = true;
check = nil;
};
inputs = [
+1 -1
View File
@@ -23,7 +23,7 @@ rm -f /system/bin/httpd
bin = [ "perl" ];
populateUsrBin = true;
exec = make {
inPlace = true;
chdir = false;
generate = "make configure";
preMake = `
+9 -9
View File
@@ -19,7 +19,7 @@ chmod +w tests/test-c32ispunct.sh && echo '#!/bin/sh' > tests/test-c32ispunct.sh
toyboxEarly = true;
exec = make {
omitDefaults = true;
defaults = false;
};
inputs = [
@@ -114,7 +114,7 @@ package libtool {
exec = make {
// _Z2a2c: symbol not found
skipEarlyStageCheck = true;
checkEarly = false;
check = [
"TESTSUITEFLAGS=" + jobsFlagE,
@@ -142,7 +142,7 @@ package gzip {
exec = make {
// dependency loop
skipCheck = true;
check = nil;
};
}
@@ -197,7 +197,7 @@ test_disable '#!/bin/sh' tests/cmp
toyboxEarly = true;
exec = make {
omitDefaults = true;
defaults = false;
};
}
@@ -223,7 +223,7 @@ test_disable '#!/bin/sh' tests/need-filename
toyboxEarly = true;
exec = make {
omitDefaults = true;
defaults = false;
};
}
@@ -334,7 +334,7 @@ package bash {
toyboxEarly = true;
exec = make {
omitDefaults = true;
defaults = false;
configure = {
"without-bash-malloc";
};
@@ -371,7 +371,7 @@ test_disable 'int main(){return 0;}' gnulib-tests/test-lchown.c
`;
exec = make {
omitDefaults = true;
defaults = false;
configure = {
"enable-single-binary": "symlinks";
};
@@ -436,7 +436,7 @@ package texinfo {
exec = make {
// nonstandard glibc extension
skipCheck = true;
check = nil;
};
inputs = [ perl ];
@@ -648,7 +648,7 @@ package mpc {
enterSource = true;
exec = make {
inPlace = true;
chdir = false;
generate = "autoreconf -vfi";
};
+1 -1
View File
@@ -27,7 +27,7 @@ package go {
enterSource = true;
exec = generic {
inPlace = true;
chdir = false;
build = `
mkdir /work/system/ "${TMPDIR}"
cp -r . /work/system/go
+3 -3
View File
@@ -32,7 +32,7 @@ package hakurei {
};
exec = generic {
inPlace = true;
chdir = false;
build = `
echo 'Building test helper (hostname).'
go build -o /bin/hostname /usr/src/hostname/main.go
@@ -103,7 +103,7 @@ package hakurei-dist {
};
exec = generic {
inPlace = true;
chdir = false;
build = `
echo 'Building test helper (hostname).'
go build -o /bin/hostname /usr/src/hostname/main.go
@@ -146,7 +146,7 @@ package earlyinit {
];
exec = generic {
inPlace = true;
chdir = false;
build = `
echo '# Building earlyinit.'
go build -trimpath -v -o /work/ -ldflags="-s -w
+2 -2
View File
@@ -15,9 +15,9 @@ package hwdata {
exec = make {
// awk: fatal: cannot open file `hwdata.spec' for reading: No such file or directory
inPlace = true;
chdir = false;
// lspci: Unknown option 'A' (see "lspci --help")
skipCheck = true;
check = nil;
};
}
+2 -2
View File
@@ -21,7 +21,7 @@ package iproute2 {
chmod = true;
exec = make {
inPlace = true;
chdir = false;
// drop default autoconf options
configureName = "./configure";
configure = {
@@ -30,7 +30,7 @@ package iproute2 {
};
make = [ "CC=cc", "YACC=yacc" ];
// wants root
skipCheck = true;
check = nil;
};
inputs = [
+8 -7
View File
@@ -25,8 +25,8 @@ package kernel-headers {
toyboxEarly = true;
exec = make {
omitDefaults = true;
skipConfigure = true;
defaults = false;
configure = nil;
make = [
"-f /usr/src/kernel-headers/Makefile",
"O=/tmp/kbuild",
@@ -35,7 +35,7 @@ package kernel-headers {
"INSTALL_HDR_PATH=/work/system",
"headers_install",
];
skipCheck = true;
check = nil;
install = `
cat \
/usr/src/version.h > \
@@ -86,11 +86,12 @@ install -Dm0500 \
exclusive = true;
exec = make {
omitDefaults = true;
skipConfigure = true;
defaults = false;
configure = nil;
// Build, install, and boot kernel before running kselftest on it.
skipCheck = true;
check = nil;
make = [
"-f /usr/src/kernel/Makefile",
@@ -154,7 +155,7 @@ package gen_init_cpio {
enterSource = true;
exec = generic {
inPlace = true;
chdir = false;
build = `
mkdir -p /work/system/bin/
cc -o /work/system/bin/gen_init_cpio usr/gen_init_cpio.c
+1 -1
View File
@@ -22,7 +22,7 @@ package kmod {
};
// makes assumptions about the running kernel
skipTest = true;
test = false;
};
inputs = [
+2 -2
View File
@@ -18,8 +18,8 @@ package libaio {
env = [ "PATH=/system/sbin" ];
bin = [ "bash" ];
exec = make {
inPlace = true;
skipConfigure = true;
chdir = false;
configure = nil;
preCheck = "rm harness/cases/20.t; "+ // flaky
"CFLAGS='"+
"-Wno-unknown-warning-option "+
+3 -3
View File
@@ -16,9 +16,9 @@ package libbpf {
chmod = true;
exec = make {
inPlace = true;
skipConfigure = true;
skipCheck = true;
chdir = false;
configure = nil;
check = nil;
install = "make DESTDIR=/work LIBSUBDIR=lib install";
};
+4 -12
View File
@@ -23,18 +23,10 @@ package libcap {
bin = [ "bash" ];
exec = make {
skipConfigure = true;
inPlace = true;
make = [
"CC=cc",
"all",
];
check = [
"CC=cc",
"test",
];
chdir = false;
configure = nil;
make = [ "CC=cc", "all" ];
check = [ "CC=cc", "test" ];
};
inputs = [
+4 -6
View File
@@ -16,13 +16,11 @@ package libucontext {
enterSource = true;
exec = make {
omitDefaults = true;
skipConfigure = true;
inPlace = true;
defaults = false;
chdir = false;
make = [
"ARCH=" + linuxArch,
];
configure = nil;
make = [ "ARCH=" + linuxArch ];
install = "make prefix=/system DESTDIR=/work install";
};
}
+1 -1
View File
@@ -15,7 +15,7 @@ package libxslt {
generate = "NOCONFIGURE=1 ./autogen.sh";
// python libxml2 cyclic dependency
skipCheck = true;
check = nil;
};
inputs = [
+1 -1
View File
@@ -7,7 +7,7 @@ package lit {
exec = pip {
append = [ "llvm", "utils", "lit" ];
// already checked during llvm
skipCheck = true;
check = nil;
};
inputs = [ python-setuptools ];
+2 -2
View File
@@ -56,7 +56,7 @@ message(NOTICE "${LLVM_VERSION_MAJOR}")
"COMPILER_RT_BUILD_PROFILE": "OFF";
"COMPILER_RT_BUILD_XRAY": "OFF";
};
skipTest = true;
test = nil;
postInstall = `
mkdir -p "/work/system/lib/clang/$LLVM_VERSION_MAJOR/lib/"
ln -s \
@@ -119,7 +119,7 @@ package early-runtimes {
"LLVM_ENABLE_ZSTD": "FORCE_ON";
"LLVM_ENABLE_LIBXML2": "OFF";
};
skipTest = true;
test = nil;
};
inputs = [
+4 -14
View File
@@ -17,20 +17,10 @@ package lm_sensors {
bin = [ "perl" ];
populateUsrBin = true;
exec = make {
inPlace = true;
skipConfigure = true;
make = [
"CC=cc",
"ETCDIR=/system/etc",
"PREFIX=/system",
];
check = [
"CC=cc",
"check",
];
chdir = false;
configure = nil;
make = [ "CC=cc", "ETCDIR=/system/etc", "PREFIX=/system" ];
check = [ "CC=cc", "check" ];
install = "make DESTDIR=/work PREFIX=/system install";
};
+2 -2
View File
@@ -20,8 +20,8 @@ package lua {
chmod = true;
exec = make {
inPlace = true;
skipConfigure = true;
chdir = false;
configure = nil;
make = [ "CC='clang -fPIC'", "all" ];
check = [ "test" ];
install = `
+1 -1
View File
@@ -16,7 +16,7 @@ package lvm2 {
exec = make {
// requires root
skipCheck = true;
check = nil;
};
inputs = [
+5 -11
View File
@@ -23,14 +23,9 @@ package musl-headers {
];
exec = make {
omitDefaults = true;
skipCheck = true;
make = [
"DESTDIR=/work",
"install-headers",
];
defaults = false;
make = [ "DESTDIR=/work", "install-headers" ];
check = nil;
install = "# headers installed during make";
};
@@ -53,9 +48,8 @@ package musl {
];
exec = make {
omitDefaults = true;
skipCheck = true;
defaults = false;
check = nil;
postInstall = `
mkdir -p /work/system/bin
COMPAT_LINKER_NAME="ld-musl-` + linuxArch + `.so.1"
+1 -1
View File
@@ -19,7 +19,7 @@ package ncurses {
};
// "tests" are actual demo programs, not a test suite.
skipCheck = true;
check = nil;
postInstall = `
find /work/system/lib \
+1 -1
View File
@@ -12,7 +12,7 @@ package noto {
enterSource = true;
exec = generic {
inPlace = true;
chdir = false;
install = `
DEST=/work/system/share/fonts/noto
for font in $(ls -d fonts/*/); do
+5 -6
View File
@@ -38,10 +38,9 @@ package nss {
early = "\nln -s extra/nspr/nspr /usr/src/nspr\nchmod +w ../nspr/\n";
exec = make {
omitDefaults = true;
skipConfigure = true;
inPlace = true;
defaults = false;
chdir = false;
configure = nil;
make = [
"CCC=clang++",
"NSDISTMODE=copy",
@@ -49,7 +48,7 @@ package nss {
"USE_64=1",
"nss_build_all",
];
skipCheck = true;
check = nil;
install = `
cp -r \
/usr/src/dist/. \
@@ -80,7 +79,7 @@ package nss-cacert {
enterSource = true;
exec = generic {
inPlace = true;
chdir = false;
build = `
mkdir -p /work/system/etc/ssl/{certs/unbundled,certs/hashed,trust-source}
buildcatrust \
+1 -1
View File
@@ -21,7 +21,7 @@ package openssl {
];
exec = make {
omitDefaults = true;
defaults = false;
configureName = "/usr/src/openssl/Configure";
configure = {
+1 -1
View File
@@ -18,7 +18,7 @@ package pango {
"cairo": "enabled";
};
// Fontconfig error: Cannot load default config file: File not found: /etc/fonts/fonts.conf
skipTest = true;
test = false;
};
inputs = [
+3 -3
View File
@@ -28,8 +28,8 @@ disable_test ext/POSIX/t/time.t
toyboxEarly = true;
exec = make {
omitDefaults = true;
inPlace = true;
defaults = false;
chdir = false;
configureName = "./Configure";
configure = {
@@ -70,7 +70,7 @@ package perl-Module-Build {
chmod = true;
exec = generic {
inPlace = true;
chdir = false;
build = `
perl Build.PL --prefix=/system
./Build build`;
+12 -12
View File
@@ -162,7 +162,7 @@ package python-setuptools {
// error: invalid command 'dist_info'
buildIsolation = true;
// pytest circular dependency
skipCheck = true;
check = nil;
};
runtime = [ python ];
@@ -212,7 +212,7 @@ package python-vcs-versioning {
// upstream is monorepo of two packages (setuptools-scm)
append = [ "vcs-versioning" ];
// pytest circular dependency
skipCheck = true;
check = nil;
};
inputs = [
@@ -246,7 +246,7 @@ package python-setuptools-scm {
// upstream is monorepo of two packages
append = [ "setuptools-scm" ];
// pytest circular dependency
skipCheck = true;
check = nil;
};
inputs = [
@@ -276,7 +276,7 @@ package python-flit-core {
// upstream has other unused packages with many dependencies
append = [ "flit_core" ];
// pytest circular dependency
skipCheck = true;
check = nil;
};
runtime = [ python ];
@@ -296,7 +296,7 @@ package python-packaging {
exec = pip {
// pytest circular dependency
skipCheck = true;
check = nil;
};
inputs = [ python-flit-core ];
@@ -317,7 +317,7 @@ package python-pathspec {
exec = pip {
// pytest circular dependency
skipCheck = true;
check = nil;
};
inputs = [ python-flit-core ];
@@ -338,7 +338,7 @@ package python-trove-classifiers {
exec = pip {
// pytest circular dependency
skipCheck = true;
check = nil;
};
inputs = [ python-setuptools ];
@@ -363,7 +363,7 @@ package python-pluggy {
exec = pip {
// pytest circular dependency
skipCheck = true;
check = nil;
};
inputs = [ python-setuptools-scm ];
@@ -386,7 +386,7 @@ package python-hatchling {
// upstream has other unused packages with many dependencies
append = [ "backend" ];
// pytest circular dependency
skipCheck = true;
check = nil;
};
inputs = [
@@ -418,7 +418,7 @@ package python-pygments {
exec = pip {
// pytest circular dependency
skipCheck = true;
check = nil;
};
inputs = [ python-hatchling ];
@@ -443,7 +443,7 @@ package python-iniconfig {
exec = pip {
// pytest circular dependency
skipCheck = true;
check = nil;
};
inputs = [ python-setuptools-scm ];
@@ -468,7 +468,7 @@ package python-pytest {
exec = pip {
// many dependencies
skipCheck = true;
check = nil;
};
inputs = [
+3 -2
View File
@@ -15,7 +15,8 @@ package rsync {
toyboxEarly = true;
exec = make {
omitDefaults = true;
defaults = false;
configure = {
"disable-openssl";
"disable-xxhash";
@@ -24,6 +25,6 @@ package rsync {
};
// circular dependency
skipCheck = true;
check = nil;
};
}
+1 -1
View File
@@ -14,7 +14,7 @@ package spirv-headers {
exec = cmake {
// upstream has no tests
skipTest = true;
test = nil;
};
}
+3 -4
View File
@@ -28,10 +28,9 @@ package squashfs-tools {
early = "cd squashfs-tools";
exec = make {
skipConfigure = true;
inPlace = true;
skipCheck = true;
chdir = false;
configure = nil;
check = nil;
install = "make INSTALL_PREFIX=/work/system install";
};
+1 -1
View File
@@ -19,7 +19,7 @@ package tamago {
enterSource = true;
exec = generic {
inPlace = true;
chdir = false;
build = `
mkdir /work/system/
cp -r . /work/system/tamago
+8 -8
View File
@@ -22,10 +22,10 @@ package toybox {
toyboxEarly = true;
exec = make {
omitDefaults = true;
inPlace = true;
skipConfigure = true;
defaults = false;
chdir = false;
configure = nil;
preMake = `
LDFLAGS="${LDFLAGS:-''} -static"
@@ -50,7 +50,7 @@ sed -i \
"USER=cure",
"tests",
];
skipEarlyStageCheck = true;
checkEarly = false;
install = "PREFIX=/work/system/bin make install_flat";
@@ -80,10 +80,10 @@ package toybox-early {
toyboxEarly = true;
exec = make {
omitDefaults = true;
inPlace = true;
skipConfigure = true;
defaults = false;
chdir = false;
configure = nil;
preMake = `
LDFLAGS="${LDFLAGS:-''} -static"
@@ -115,7 +115,7 @@ CONFIG_DIFF=y
"USER=cure",
"tests",
];
skipEarlyStageCheck = true;
checkEarly = false;
install = "PREFIX=/work/system/bin make install_flat";
+1 -1
View File
@@ -20,7 +20,7 @@ package unzip {
chmod = true;
exec = generic {
inPlace = true;
chdir = false;
build = `unix/configure
make -f unix/Makefile generic1`;
install = `
+1 -1
View File
@@ -47,7 +47,7 @@ package util-linux {
// check script claims:
// For development purpose only.
// Don't execute on production system!
skipCheck = true;
check = nil;
};
inputs = [
+2 -2
View File
@@ -17,14 +17,14 @@ package vim {
enterSource = true;
exec = make {
inPlace = true;
chdir = false;
configure = {
"with-tlib": "ncursesw";
};
check = [ "test" ];
// very expensive
skipCheck = true;
check = nil;
};
inputs = [ ncurses ];
+31 -12
View File
@@ -811,14 +811,17 @@ func (s *S) getFrame() azalea.Frame {
args azalea.FArgs,
) (v any, set bool, err error) {
var attr GenericHelper
chdir := true
if err = args.Apply(map[unique.Handle[azalea.Ident]]any{
k("inPlace"): &attr.InPlace,
k("chdir"): &chdir,
k("build"): &attr.Build,
k("check"): &attr.Check,
k("install"): &attr.Install,
}); err != nil {
return
}
attr.InPlace = !chdir
v = &attr
set = true
return
@@ -828,28 +831,33 @@ func (s *S) getFrame() azalea.Frame {
args azalea.FArgs,
) (v any, set bool, err error) {
var attr MakeHelper
defaults, chdir, checkEarly := true, true, true
attr.Configure, attr.Check = []KV{}, []string{}
if err = args.Apply(map[unique.Handle[azalea.Ident]]any{
k("omitDefaults"): &attr.OmitDefaults,
k("defaults"): &defaults,
k("generate"): &attr.Generate,
k("preMake"): &attr.ScriptMakeEarly,
k("preCheck"): &attr.ScriptCheckEarly,
k("postInstall"): &attr.Script,
k("inPlace"): &attr.InPlace,
k("skipConfigure"): &attr.SkipConfigure,
k("chdir"): &chdir,
k("configureName"): &attr.ConfigureName,
k("forceAutoconf"): &attr.ForceAutoconf,
k("configure"): &attr.Configure,
k("host"): &attr.Host,
k("build"): &attr.Build,
k("make"): &attr.Make,
k("skipCheck"): &attr.SkipCheck,
k("check"): &attr.Check,
k("install"): &attr.Install,
k("skipEarlyStageCheck"): &attr.SkipCheckEarly,
k("checkEarly"): &checkEarly,
}); err != nil {
return
}
attr.OmitDefaults, attr.InPlace = !defaults, !chdir
attr.SkipConfigure = attr.Configure == nil
attr.SkipCheck = attr.Check == nil
attr.SkipCheckEarly = !checkEarly
v = &attr
set = true
return
@@ -859,17 +867,20 @@ func (s *S) getFrame() azalea.Frame {
args azalea.FArgs,
) (v any, set bool, err error) {
var attr CMakeHelper
var test azalea.AString
if err = args.Apply(map[unique.Handle[azalea.Ident]]any{
k("append"): &attr.Append,
k("buildType"): &attr.BuildType,
k("cache"): &attr.Cache,
k("postInstall"): &attr.Script,
k("test"): &attr.Test,
k("skipTest"): &attr.SkipTest,
k("test"): &test,
k("make"): &attr.Make,
}); err != nil {
return
}
attr.Test = test.V
attr.SkipTest = test.Nil
v = &attr
set = true
return
@@ -879,18 +890,21 @@ func (s *S) getFrame() azalea.Frame {
args azalea.FArgs,
) (v any, set bool, err error) {
var attr MesonHelper
test := true
if err = args.Apply(map[unique.Handle[azalea.Ident]]any{
k("muon"): &attr.Muon,
k("preCompile"): &attr.ScriptCompileEarly,
k("postCompile"): &attr.ScriptCompiled,
k("postInstall"): &attr.Script,
k("setup"): &attr.Setup,
k("skipTest"): &attr.SkipTest,
k("test"): &test,
k("skipTests"): &attr.SkipTests,
k("interactiveTest"): &attr.InteractiveTest,
}); err != nil {
return
}
attr.SkipTest = !test
v = &attr
set = true
return
@@ -900,11 +914,13 @@ func (s *S) getFrame() azalea.Frame {
args azalea.FArgs,
) (v any, set bool, err error) {
var attr MakeMakerHelper
doCheck := true
if err = args.Apply(map[unique.Handle[azalea.Ident]]any{
k("skipCheck"): &attr.SkipCheck,
k("check"): &doCheck,
}); err != nil {
return
}
attr.SkipCheck = !doCheck
v = &attr
set = true
return
@@ -914,17 +930,20 @@ func (s *S) getFrame() azalea.Frame {
args azalea.FArgs,
) (v any, set bool, err error) {
var attr PipHelper
var scriptCheck azalea.AString
if err = args.Apply(map[unique.Handle[azalea.Ident]]any{
k("append"): &attr.Append,
k("buildIsolation"): &attr.BuildIsolation,
k("enterSource"): &attr.EnterSource,
k("install"): &attr.Install,
k("skipCheck"): &attr.SkipCheck,
k("check"): &attr.Check,
k("check"): &scriptCheck,
k("postInstall"): &attr.Script,
}); err != nil {
return
}
attr.Check = scriptCheck.V
attr.SkipCheck = scriptCheck.Nil
v = &attr
set = true
return