diff --git a/install-server.sh b/install-server.sh index 5d2eaf9..b504d1a 100755 --- a/install-server.sh +++ b/install-server.sh @@ -527,11 +527,11 @@ fi # no matter what grep says, so the check condemned a working binary. # # BOUNDED, because "does not run" and "does not finish" are different failures -# and only one of them used to be handled. A bundle can block in dyld before -# reaching main — Gatekeeper assessment on a bundle in /Applications does -# exactly this (issue #25) — and an unbounded check then hangs the installer -# forever with no output, no error, and no service. A verification step that -# can wedge is worse than no verification step. +# and only one of them used to be handled. A bundle carrying +# com.apple.quarantine blocks in dyld before reaching main (issue #25), and an +# unbounded check then hangs the installer forever with no output, no error, +# and no service. A verification step that can wedge is worse than no +# verification step. # run_bounded is defined above the source guard so the tests can reach it. # --help, NOT a bare invocation. `tacet` with no arguments now runs the agent @@ -544,10 +544,31 @@ verify_rc=$? set -e if [[ "$verify_rc" -eq 124 ]]; then + # The headline goes through err(); the rest does not. err() prefixes every + # line with ERROR:, and fifteen of those is a wall nobody reads at the moment + # they are already stuck. err "installed ${APP_DST} but it did not finish starting within 20s." - err "The process blocks before reaching main — nothing it logs will say so." - err "A bundle in /Applications does this under Gatekeeper assessment (#25);" - err "installing to ~/Applications (no cask, no TACET_APP_DIR) is known-good." + cat >&2 <