Skip to content

install.sh: successful install exits 1 when doctor reports capability blockers (partially-supported compositors) #84

Description

@avifenesh

Bug Description

run_doctor() in install.sh (~line 615) treats any non-empty readiness.blockers as installation failure:

if [[ "${blockers}" -eq 0 ]]; then
    log_ok "doctor reports ready"
...
else
    log_fail "doctor reports NOT ready"
    ... FAILED_CHECKS+=("${line}") ... return 1
fi

On a partially-supported compositor this misclassifies a capability gap as an install failure. Real-world case from #76 (@larpedd's labwc/wlroots box, Aug 6 log): every step the installer owns had succeeded — binary built, AT-SPI enabled, /dev/uinput r/w, all portals ok — yet the run ended FAIL doctor reports NOT ready / install.sh aborted (exit 1) purely because the compositor lacks a window-management protocol.

#77 reworked the diagnostics side (capability map, precise blocker strings) but left run_doctor's all-or-nothing classification untouched, so the next unsupported platform hits it identically. --skip-doctor exists but predates #77 and is never suggested near the failure.

Expected Behavior

Distinguish blockers the installer can act on from platform capability gaps. A run where all install-owned steps succeeded should exit 0 (or a distinct code) with a clear "installed OK; N capabilities unavailable on this compositor: …" summary — or at minimum point at --skip-doctor.

Environment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions