3e20a1df6e
The script previously assumed libtor.a and libi2pd*.a were already
present, but on a fresh checkout they only exist after running
src/tor/build-libtor.sh and src/i2p/build-libi2pd.sh. CI does this
in build-all.yml but local verification didn't, which bit me during
the v6.1.5 release.
Detect missing static libs and invoke the build scripts (passing
/usr paths for native Linux, matching what CI does). On a fresh
checkout this adds ~8 min to first-run verification; subsequent
runs skip the build step.
Logs go to /tmp/triangles-build-lib{tor,i2pd}.log for debugging.
Exit code 5 distinguishes build-prep failures from cmake/build
failures (3) and binary-compare failures (1/4).
Scripts
Operational scripts for the Triangles project. See also doc/release-process.md
for the canonical release pipeline documentation.
Build verification
verify-reproducible-build.sh— builds the daemon (or another target) twice from the same source tree and verifies the SHA256 hashes match. Catches accidental introduction of non-determinism (e.g.__DATE__/__TIME__regressions, dirty git state, PIE base-address drift).
Release signing
sign-release.sh— generatesSHA256SUMS, writes detached PGP signatures (.asc) over each release artifact and overSHA256SUMS. Supports--verifyfor independent third-party verification. UsesTRIANGLES_RELEASE_KEYenv var (defaults tosami@cryptographic-triangles.org).
Existing infrastructure
bump-version.sh— sync version numbers across all manifests fromsrc/clientversion.h.sign-snapshot.sh— sign a UTXO snapshot file with the wallet's signing address (not a PGP key; this is a chain-level signature, not a release signature).validate_onion_seeds.py— validate every.onionaddress intriangles.confagainst the v3 hidden-service checksum.ibd-smoke-test.sh— fresh-datadir IBD smoke test for catching the classic "stalls early / loops around 570" failure mode.ci/build-rocksdb.sh— build and install a pinned RocksDB version for CI.ci/package-linux-daemon.sh— Linux packaging step (.deb).ci/package-windows-daemon.sh— Windows packaging step.tri/— operator-facing CLI for node administration.