- df -kP: POSIX mode prevents LVM line-wrap false WARNs (all tier scripts) - 11_wiki: glow from @testing on x86_64; CE repo path kept for ARM - 12_access: ly from @testing on x86_64+aarch64; MANUAL stub for armhf; post-install: rc-update add ly default + comment tty2 getty in inittab - 05_fonts: nerd-fonts-all from v3.23 stable community (no @edge tag) - ce-common: add ohiod_address() Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
63 lines
2.8 KiB
Bash
63 lines
2.8 KiB
Bash
#!/usr/bin/env bash
|
|
# Created by John A. Hoeven with the ethical assistance of Claude AI
|
|
# ---------------------------------------------------------------------------
|
|
# 12_access.sh
|
|
# ~/projects/ceos/alpine-installer/lib/minimal/12_access.sh
|
|
# Version: v0.0.1 | Status: DEVELOPMENT
|
|
# Target: Alpine Linux x86-64 (tinkerpad / ThinkPad T480)
|
|
# ---------------------------------------------------------------------------
|
|
# Minimal Tier subscript: accessibility — espeak-ng, espeakup, speech-dispatcher.
|
|
# espeak conflict trap: removes espeak before installing espeak-ng.
|
|
# espeakup: repo-verified before install (package availability varies by release).
|
|
# speech-dispatcher: @edge, warn-on-fail.
|
|
# ly login manager: aarch64 CE repo only — SKIPPED on x86-64 with notice.
|
|
# Defines install_minimal_access().
|
|
# ---------------------------------------------------------------------------
|
|
|
|
install_minimal_access() {
|
|
log_info "--- minimal/12_access: accessibility ---"
|
|
|
|
# espeak conflict trap — must run before espeak-ng install
|
|
if doas apk info -e espeak >> "${LOG_FILE}" 2>&1; then
|
|
log_info "Removing conflicting 'espeak' package before installing espeak-ng..."
|
|
doas apk del espeak >> "${LOG_FILE}" 2>&1 \
|
|
|| log_warn "Could not remove espeak — espeak-ng may conflict"
|
|
fi
|
|
|
|
install_pkg "espeak-ng"
|
|
run_test "espeak-ng present" 'command -v espeak-ng >/dev/null 2>&1' warn
|
|
|
|
# espeakup — in edge/testing; also install espeakup-openrc for service management
|
|
ensure_testing_repo
|
|
install_pkg_testing "espeakup"
|
|
install_pkg_testing "espeakup-openrc"
|
|
|
|
# speech-dispatcher — edge package
|
|
ensure_edge_repo
|
|
install_pkg_edge "speech-dispatcher"
|
|
|
|
# ly login manager — testing for x86_64 + aarch64; armhf needs CE repo source build
|
|
if [[ "${ARCH}" == "armhf" ]]; then
|
|
log_warn "ly: not in Alpine testing for armhf — requires CE repo source build"
|
|
MANUAL_PKGS+=("ly: not in Alpine testing for armhf — CE repo source build required")
|
|
else
|
|
ensure_testing_repo
|
|
install_pkg_testing "ly"
|
|
if command -v ly >/dev/null 2>&1; then
|
|
doas rc-update add ly default >> "${LOG_FILE}" 2>&1 \
|
|
|| log_warn "ly: rc-update add failed — enable manually"
|
|
doas sed -i 's|^tty2::respawn:|#tty2::respawn:|' /etc/inittab >> "${LOG_FILE}" 2>&1 \
|
|
|| log_warn "ly: could not comment out tty2 getty in /etc/inittab — check manually"
|
|
log_info "ly installed and enabled on default runlevel"
|
|
fi
|
|
fi
|
|
}
|
|
|
|
if [[ "${BASH_SOURCE[0]}" == "${0}" ]]; then
|
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd)"
|
|
SCRIPT_NAME="12_access"
|
|
source "${SCRIPT_DIR}/lib/ce-common.sh" || { echo "ERROR: ce-common.sh not found"; exit 1; }
|
|
check_not_root
|
|
install_minimal_access
|
|
print_summary
|
|
fi
|