Documentation
¶
Overview ¶
Command gen builds the embedded UAC archives.
There are two, and one is derived from the other:
-mode full -uac DIR packs a whole UAC checkout, for the differential
harness, which has to exec ./uac
-mode data -from FULL extracts just the artifact definitions, uac.conf
and the profiles out of that full archive, for the
shipped binary
The data archive is deliberately built from the full archive rather than from the checkout a second time. Two independent packs of the same tree can drift -- regenerate one, forget the other, and the harness quietly starts comparing against different definitions than the binary ships. Deriving one from the other makes that impossible rather than merely detectable.
Run both, in this order:
go generate ./test/uacfull ./internal/uacdata
Both archives are deterministic -- entries sorted, timestamps and ownership zeroed -- so the same checkout always produces identical blobs, and therefore a reproducible binary.
Click to show internal directories.
Click to hide internal directories.