iso 1.27.1: the FIRST boot is Felhom's — postinst masks pvebanner and writes /etc/issue
gates / gates (push) Successful in 18s

The 1.27.0 proof install (VM 331, screen s20) still showed Proxmox's
":8006" block on the first boot: pvebanner.service ran before
felhom-bootstrap could mask it, and the Felhom text lost its o/u double
acutes (painted before the Latin-2 font loads).
- postinst: mask pvebanner by symlink (a file act, valid in the chroot) and
  write /etc/issue; both guarded, still exit 0 (G8 self-checks unchanged).
- bootstrap: same text, byte-identical, no o/u double acutes (second line).
- harness: PI scenario (postinst in a container) + no-accent checks, red
  first against the 1.27.0 code; 55/55 green.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0159rPz1ZhFKsS53msqPYxtS
This commit is contained in:
2026-09-14 17:55:08 +02:00
parent 63f29c6ad8
commit 27e8ec860c
4 changed files with 44 additions and 2 deletions
+20
View File
@@ -28,6 +28,26 @@ LOG=/var/log/felhom-bootstrap-postinst.log
chmod 0644 "$LOG" 2>/dev/null || true
if [ "${1:-}" = "configure" ]; then
# R-496 (v1.27.1): the console's login text is Felhom's from the FIRST boot. pvebanner.service rewrites
# /etc/issue with the Proxmox admin URL on every boot; on 1.27.0 it ran before felhom-bootstrap could
# mask it (proof install screen 331-s20). Masking is a SYMLINK to /dev/null — a file act, valid in this
# systemd-less chroot, like the wants-symlink fallback below. Both acts guarded; neither can fail the install.
mkdir -p /etc/systemd/system 2>/dev/null || true
if ln -sf /dev/null /etc/systemd/system/pvebanner.service 2>/dev/null; then
echo "felhom-bootstrap postinst: pvebanner.service masked (symlink)" >> "$LOG" 2>&1 || true
fi
# Byte-identical to felhom-bootstrap.sh install_felhom_issue (harness PI pins it). No ő/ű: the login
# screen is painted before the Latin-2 font loads.
if { printf '\n'
printf ' Felhom otthoni szerver\n\n'
printf ' Ezen a gépen most nincs dolgod, és bejelentkezni sem kell.\n'
printf ' A beállításhoz kövesd a Felhomtól kapott útmutatót.\n\n'
} > /etc/issue.felhom-tmp 2>/dev/null && mv -f /etc/issue.felhom-tmp /etc/issue 2>/dev/null; then
echo "felhom-bootstrap postinst: /etc/issue is the Felhom text" >> "$LOG" 2>&1 || true
else
rm -f /etc/issue.felhom-tmp 2>/dev/null || true
fi
# `enable` only. Guarded, and its outcome recorded either way.
if systemctl enable "$UNIT" >> "$LOG" 2>&1; then
echo "felhom-bootstrap postinst: enabled $UNIT via systemctl" >> "$LOG" 2>&1 || true