A leftover git daemon from an interrupted run kept port 9418, so the new
daemon failed to bind ("Address already in use") and the final « kill
$DAEMON_PID » failed on the already-dead PID, returning exit 1. That non-zero
status bubbled up through apply_extra_modules() and set exit_code=1, which
silently skipped the post-install steps (add_extra_to_config_conf,
generate_config) -> CybroOdoo never landed in config.conf.
- Kill any leftover daemon before starting a new one. Match the stable
arguments, not "git daemon": « git daemon » execs into « git-daemon »
(hyphen, /usr/lib/git-core/git-daemon), so a "git daemon" (space) pattern
never matched the actual process.
- Move daemon cleanup into an EXIT trap that tolerates an already-dead PID,
so the script never exits non-zero just because the daemon is already gone.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>