HiveStation V21.3.5 - fixes since 21.3.1
V21.3.5 is out. Archive attached:
HIVESTATION-V21-COMPLETE.tar.gz. Existing
installs move up with
hivestation-upgrade.sh as usual; 21.3.2, 21.3.3 and
21.3.4 were never released, so this build carries all of them. It exists because
someone installed the suite from a stock Debian Live in a German locale and hit
four walls in a row - every one of them ours. Thanks for the detailed
report.
Locale walls. The swap size went through
bc and the shell's
printf,
which reads numbers according to
LC_NUMERIC: in German, Spanish, Italian and
every other comma-decimal locale, S1 died right there, in every disk mode. The
calculation is integer arithmetic now - no decimal crosses a locale boundary.
Same family: the widget's Wi-Fi collector kept only
nmcli lines starting with
yes: (in German they start with
nein:), and the Btrfs scrub date fell over
on long-format locales. Machine-facing subprocesses now run under a forced
C.UTF-8.
Missing tools on a stock Live. The GNOME Live ships no
dosfstools, so
mkfs.fat killed the run mid-partitioning, after the whole questionnaire.
parted,
cryptsetup,
rsync,
e2fsprogs and
wpasupplicant were missing
the same way. A prerequisite check now runs
before the first question: each
missing package is named and installed, or the abort is explicit. Fail in ten
seconds with a diagnosis, not at minute twenty with a disk half written.
A real ZFS preflight. The old one hid everything: no
contrib, no kernel
headers, verdict twenty minutes in. It now enables
contrib, installs the
right headers, shows its work, verifies the module actually loaded - and runs
right after the disk-mode choice, before the questions.
The one that mattered most. An install finished with an empty ESP and the
machine would not boot - yet S1 had reported success. The chroot's exit code was
never checked, and the boot-chain safety net existed for ZFS only. Both S1 and
S2 boundaries are checked now, the net covers every disk mode, and the abort
says plainly not to reboot on that disk.
Failures that reported success. Fixing the above surfaced a family worth
naming. An empty answer at a numbered menu selected the
last entry - on the
disk menu that entry was then wiped; menus now refuse empty, non-numeric or
out-of-range answers, and the disk-mode catch-all no longer means RAID1: any
unexpected value aborts before formatting. A failed
grub-install during a
guided ZFS disk replacement let the one-way, destructive ESP sync run anyway;
the refusal now lives in
efi-sync.sh itself, where every trigger passes. The
upgrade ticked "ZBM image regenerated" without checking; it fails by name now,
on the manifest too. None of these were introduced by this release.
A check that could not fail. The upgrade posts the ESP synchronisation
files, then verified only that the destination existed - on an upgrade it
always does. A failed
install was recorded as a success, on the manifest too.
The destination is now compared with the source, and
update-grub's output is
kept in a log the failure message cites. This is the fix that makes 21.3.5.
The desktop widget did not start at all. disable() destroyed the panel
but left references to the disposed boxes; asynchronous updates resumed after
deactivation and GNOME held the extension INACTIVE while it reported itself
enabled. Fixed and verified on a running node (
widget v22).
Existing installs get the ESP fix too. The upgrade now refreshes the sync
primitive and its triggers on both two-ESP modes, plus the
grub.d trigger on
Btrfs RAID1 - whose output goes to standard error now, since
grub-mkconfig
captures a script's standard output into the
grub.cfg it builds.
Also fixed. COSMIC's installer asked for
alien without installing it,
and is now labelled EXPERIMENTAL; S7 no longer dies when systemd defers an
immediate service start.
Known limitation. When the ESP synchronisation refuses to run, the
monitoring widget and the boot-splash feeder still classify the last state as
healthy. The refusal itself works and is logged; the display will be corrected
in the next series.
Documentation. The guide names the validated Live image, the free space
and RAM the ZFS preflight needs, and repeats the two ZFS-mode constraints where
they bite: Secure Boot off at install time, and an ASCII passphrase.
Full release notes are in section 8.1 of the guide; the development journal is
in
DEVLOG-V21.md at the root of the archive.