options = {
build_threads = 4,
scan_threads = 4,
log_level = "info",
}
pkgsrc = {
basedir = "/Volumes/data/pkgsrc",
make = "/opt/pkg/bin/bmake",
pkgpaths = {
"mail/mutt",
"sysutils/coreutils",
},
}
sandboxes = {
basedir = "/Volumes/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 = "tmp", dir = "/tmp", opts = "-e -s 384m" },
{ action = "mount", fs = "tmp", dir = "/var", opts = "-e -s 512m" },
{ action = "cmd", create = "mkdir -m 1777 var/tmp; chmod 1777 tmp" },
{ action = "mount", fs = "bind", dir = "/Library", opts = "-r" },
{ action = "mount", fs = "bind", dir = "/System", opts = "-r" },
{ action = "mount", fs = "bind", dir = "/bin", opts = "-r" },
{ action = "mount", fs = "bind", src = "/private/etc", dest = "/etc", opts = "-r" },
{ action = "mount", fs = "bind", dir = "/sbin", opts = "-r" },
{ action = "mount", fs = "bind", dir = "/usr", opts = "-r" },
{ action = "mount", fs = "bind", dir = "/private/var/spool/postfix" },
{ action = "macos-mdns-listener" },
{ action = "cmd", chroot = true, create = [[
mkdir -p /var/{folders,select}
mkdir -p $(getconf DARWIN_USER_TEMP_DIR)
]] },
{ action = "cmd", only = { set = "pkgsrc.build_user" },
create = [[
tempdir=$(sudo -u ${bob_build_user} getconf DARWIN_USER_TEMP_DIR)
for dir in ${bob_build_user_home} ${tempdir}; do \
mkdir -p ${bob_sandbox_path}${dir}
chown ${bob_build_user} ${bob_sandbox_path}${dir}
done
]],
destroy = "rm -rf ${bob_sandbox_path}${bob_build_user_home}" },
{ action = "mount", fs = "bind", dir = pkgsrc.basedir },
},
}