Assumes you have rust, gcc14, etc installed via pkg.
Everything will be stored under /data. Assumes everything runs as root (required to run bob anyway).
Install bob (currently requires installing via git due to patched crates)
$ cargo install --git https://github.com/jperkin/bobInstall config file to /root/.config/bob/config.lua. I'll attach it to this gist, it's stripped down and configured for this build and target host.
Fetch pkgsrc and bootstrap kit.
$ mkdir -p /data
$ cd /data
$ git clone https://github.com/NetBSD/pkgsrc
$ curl -O https://pkgsrc.smartos.org/packages/SmartOS/bootstrap-pbulk/bootstrap-upstream-trunk.tar.gzThe default config is set up to build just audio/openal-soft as the quickest package to fail, uncomment the others to see those fail too (at least the lang/nodejs build will take a lot longer).
Start the build:
$ bob buildTo see the failure logs:
$ bob log <package>or just look under /root/.local/share/bob/logs.
You can add lofs mounts to the config file if you want to test header changes directly in the sandboxes. For example this is the config section I've been using to test the changes (add it after e.g. the /opt/ooce mount).
-- test c++ issue fixes
{ action = "mount", fs = "lofs", opts = "-o ro",
src = "/data/pkgsrc/overlay/gwr/math_c99.h", dest = "/usr/include/iso/math_c99.h" },
{ action = "mount", fs = "lofs", opts = "-o ro",
src = "/data/pkgsrc/overlay/gwr/math_iso.h", dest = "/usr/include/iso/math_iso.h" },
{ action = "mount", fs = "lofs", opts = "-o ro",
src = "/data/pkgsrc/overlay/gwr/math.h", dest = "/usr/include/math.h" },If you change anything about the pkgsrc build itself, you'll need to run:
$ bob cleanbefore starting a new build.
Paste this into
config.lua: