options = {
build_threads = 4,
scan_threads = 4,
log_level = "info",
}
pkgsrc = {
basedir = "/usr/pkgsrc",
make = "/usr/pkg/bin/bmake",
pkgpaths = {
"mail/mutt",
"sysutils/coreutils",
},
}
sandboxes = {
basedir = "/data/chroot",
environment = {
build = {
clear = true,
inherit = { "TERM", "HOME" },
vars = {
PATH = "/sbin:/bin:/usr/sbin:/usr/bin",
},
},
dev = {
clear = true,
inherit = { "TERM", "HOME" },
vars = {
BINPKG_SITES = "${bob_packages}",
DEPENDS_TARGET = "bin-install",
PATH = "${bob_prefix}/sbin:${bob_prefix}/bin:/sbin:/bin:/usr/sbin:/usr/bin",
PS1 = [["sandbox:${bob_sandbox_id} "'${PWD}# ']],
},
},
},
setup = {
{ action = "mount", fs = "dev", dir = "/dev" },
{ action = "mount", fs = "proc", dir = "/proc" },
{ action = "mount", fs = "tmp", dir = "/tmp", opts = "size=1G" },
{ action = "mount", fs = "tmp", dir = "/var", opts = "size=1G" },
{ action = "mount", fs = "bind", dir = "/usr/bin", opts = "ro" },
{ action = "mount", fs = "bind", dir = "/usr/sbin", opts = "ro" },
{ action = "mount", fs = "bind", dir = "/usr/lib", opts = "ro" },
{ action = "mount", fs = "bind", dir = "/usr/lib64", opts = "ro" },
{ action = "mount", fs = "bind", dir = "/usr/libexec", opts = "ro" },
{ action = "mount", fs = "bind", dir = "/usr/include", opts = "ro" },
{ action = "mount", fs = "bind", dir = "/usr/share", opts = "ro" },
{ action = "symlink", src = "usr/bin", dest = "/bin" },
{ action = "symlink", src = "usr/lib", dest = "/lib" },
{ action = "symlink", src = "usr/lib64", dest = "/lib64" },
{ action = "symlink", src = "usr/sbin", dest = "/sbin" },
{ action = "copy", dir = "/etc" },
{ action = "cmd", chroot = true,
create = "mkdir -m 1777 /var/tmp; chmod 1777 /tmp" },
{ action = "cmd", only = { set = "pkgsrc.build_user" },
create = [[
mkdir -p ${bob_sandbox_path}${bob_build_user_home}
chown ${bob_build_user} ${bob_sandbox_path}${bob_build_user_home}
]],
destroy = "rm -rf ${bob_sandbox_path}${bob_build_user_home}" },
{ action = "mount", fs = "bind", dir = pkgsrc.basedir },
},
}