Build opencode-termux
Make Targets
make all VER=1.18.27 PKG=both # Build all families for a version
make batch VERS='1.18.15 1.18.27' PKG=deb # Build range
make selfcheck # Validate setupFamily-specific targets
make family-glibc VER=1.18.27 # Glibc line only
make family-native VER=1.18.27 # Native line only
make family-compressed VER=1.18.27 # Compressed (UPX) onlyBatch scripts
scripts/range-build.sh— DRY=1 mode, disk guardrail, continue-on-failscripts/fleet-upx.sh— Distributed UPX compressionscripts/sha-stage.sh— SHA256SUMS accumulationscripts/push-stage.sh— Dry-run release upload
Transplant Pipeline (Native)
The native line uses a transplant-revive pipeline:
- Extract: Base Bun ELF from official Android build
- Detect: Section format (auto per Bun version)
- Convert: Module graph insertion
- Patch: BUN_COMPILED.size + offsets
- Assemble: Final ELF layout
- Revive: Runtime resurrection surgery
- Verify: Self-test run
After transplant, a seccomp-harden step adds the SIGSYS crhandler shim.
Build Requirements
- Bun (for transplant pipeline)
- NDK (for bionic libopentui.so build)
- UPX (for compressed variant)
- make, bash, standard coreutils