Locates per-package Buildroot output and packages it as an
NBPR.Pack.sources() map for hand-off to NBPR.Pack.pack!/3.
After NBPR.Buildroot.Builder.build!/3 runs make <pkg>-rebuild with
BR2_PER_PACKAGE_DIRECTORIES=y, the per-package output is at:
<output_dir>/per-package/<br_package>/
├── target/ # files installed into the rootfs
├── staging/ # sysroot-side (headers, .so symlinks for NIFs)
└── host/ # build-host artefacts (skipped — not for distribution)Harvest returns the appropriate :target and :staging source paths
if they exist; legal-info aggregation, source-tarball collection, and
rootfs/ categorisation (for kmod files etc.) are not yet automated.
Summary
Functions
Returns the NBPR.Pack.sources() map for br_package under output_dir.
Functions
@spec harvest!(Path.t(), String.t()) :: NBPR.Pack.sources()
Returns the NBPR.Pack.sources() map for br_package under output_dir.
Raises if the per-package output directory is missing or empty — usually
a sign that BR2_PER_PACKAGE_DIRECTORIES=y wasn't enabled or the build
itself didn't run.