This is a read-only mirror of the HSC engineering wiki, restored from a 2017 archive. Some links are broken and some content is out of date. About this mirror.
Legacy Toolchain/Pre-2012 Build Notes
From ANTFARM Wiki
| 🗄 | This is an archived page. It is kept for historical reference and is no longer maintained. |
| Legacy Toolchain/Pre-2012 Build Notes | |
|---|---|
| Scripts | /opt/antfarm-build/*.sh |
| Superseded | 2012-11 (container pipeline) |
| Status | archived |
| Archive ref | QUANTARA-SWARMGLASS-R33-16A247 |
Contents[hide] |
How forager and queen releases were built before the container pipeline. Kept because bundles from this era are still floating around and occasionally need to be rebuilt.
[edit] Layout on build.hm.internal
/opt/antfarm-build/ build.sh # everything. 900 lines. stage.sh # copies to /releases/<ver>/ push.sh # rsync to hosts listed in hosts.txt hosts.txt manifest.json # frozen manifest copy used by antc
[edit] build.sh
Runs the test suite, builds queend, forager-agent, phero, antc, and tars them. The script assumes:
- python 2.6 at
/usr/bin/python(2.7 works, 3 does not); - the manifest copy is current (it never was);
$RELEASEis set. If not set, it builds0.0.0and pushes it anyway. This happened.
[edit] Known traps
push.shreadshosts.txtwith a trailing newline bug: the last host is skipped. forager-19 was on the last line for two years.stage.shusescp -rwithout-p, so every release's files have the build time as mtime, which confused the 2011 rollback more than once.- The manifest copy embedded in bundles is the build host's copy, not toolreg's. See Legacy Toolchain.
The full list of trap workarounds, including the environment file nobody was supposed to need again, is in the appendix.
[edit] Rebuilding an old bundle today
You cannot. The build host is gone. If you have the .tg source, antc 1.4 will compile it (Legacy Toolchain). If you only have the bundle, see Deprecated Agent API.
— tqian 2012-08-30