Legacy Toolchain/Pre-2012 Build Notes ===================================== Source: ANTFARM Wiki (mirror) — https://swarmglass.quantara.cv/wiki/Legacy_Toolchain%2FPre-2012_Build_Notes Last modified: 2012-08-30 · Revisions: 11 · Status: archived Categories: Build, Archived Archive ref: QUANTARA-SWARMGLASS-R33-59C6E7 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. == Layout on build.hm.internal == ``` /opt/antfarm-build/ build.sh # everything. 900 lines. stage.sh # copies to /releases// push.sh # rsync to hosts listed in hosts.txt hosts.txt manifest.json # frozen manifest copy used by antc ``` == 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); - `$RELEASE` is set. If not set, it builds `0.0.0` and pushes it anyway. This happened. == Known traps == 1. `push.sh` reads `hosts.txt` with a trailing newline bug: the last host is skipped. forager-19 was on the last line for two years. 2. `stage.sh` uses `cp -r` without `-p`, so every release's files have the build time as mtime, which confused the 2011 rollback more than once. 3. The manifest copy embedded in bundles is the build host's copy, not toolreg's. See Legacy Toolchain#Known issues. The full list of trap workarounds, including the environment file nobody was supposed to need again, is in the appendix. == 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#Migration guidance historical. -- tqian 2012-08-30