fleet/ohm: switch bes2600 driver scope to cumulative-c5x-danctnix interim (closes #5 partial migration)

Audit during ohm pkgrel=4 migration found the per-series -danctnix
mirrors merged in #17 do NOT apply against the linux-pinetab2 baseline:
all 17 of them use DKMS-style root paths (bes2600/foo.c) rather than
in-tree staging paths (drivers/staging/bes2600/foo.c), and at least one
has a corrupted mixed-prefix header
(a/drivers/staging/bes2600/...  b/bes2600/...).

ka-promote ohm with those includes produced a 172 644-byte cumulative
touching 27 file paths, of which 11 are bogus. The hand-curated
0001-bes2600-besser-cumulative-series.patch from the working
danctnix-besser-pkgbuild flow on boltzmann (148 149 bytes, 48 in-tree
staging files) is what pkgrel=3 actually builds with.

Until the per-series mirrors are reconstructed (followup issue to be
opened separately), the bes2600 driver scope is satisfied here by
staging that hand-curated cumulative as a single-file series-dir
patches/driver/bes2600/cumulative-c5x-danctnix/. ohm.yaml drops the
broken per-series includes in favour of:

  - driver/bes2600/cumulative-c5x-danctnix/
  - driver/bes2600/scan-filter-5ghz-danctnix/      (closes besser#1)
  - arch/arm64/xor-neon-ffixed-x18-scs-build-fix-danctnix/

ka-promote ohm now produces a self-consistent 157 446-byte cumulative
(148 149 + 7 735 + 1 562 = exact byte arithmetic) with b2sum
a807297b25be... which is what the new
marfrit-packages/arch/linux-pinetab2-danctnix-besser PKGBUILD pkgrel=4
pins.

Also fixes fleet/ohm.yaml YAML parse error: bar5_burn_in had a scalar
value followed by a sub-list, which ka-promote (PyYAML) refused to
parse. The whole manifest had never parsed cleanly since #18 landed.

Refs: #5 (migrate PKGBUILD), #2 (mirror besser series — needs per-series
rewrite followup), besser#1 (Patch I).
This commit is contained in:
2026-05-18 16:50:41 +02:00
parent 44c6c3fa4f
commit f203b70f4f
7 changed files with 4629 additions and 32 deletions
+29 -32
View File
@@ -25,40 +25,35 @@ baseline:
# Scope-tagged patch includes. Resolves to patches/<scope>/<file>.patch.
#
# Series-ordering note: the current cumulative-patch generation order on
# boltzmann is A, B, C v3, F, G, D, E, C2, c5.x, c6.x, c7, H — explicitly
# NOT alphabetical. ka-promote MUST honor an apply_order field when
# concatenating series into the build's per-job cumulative patch. The
# legend mapping series-letter → series-name lives in the current
# danctnix-besser-pkgbuild changelog on boltzmann; promote to this
# manifest once auto-generation is wired.
# 2026-05-18 audit: the per-series -danctnix mirrors in
# patches/driver/bes2600/*-danctnix/ created by kernel-agent#17 use
# DKMS-style root paths (bes2600/foo.c) rather than in-tree staging
# paths (drivers/staging/bes2600/foo.c), and at least one has corrupted
# mixed-prefix headers (a/drivers/staging/bes2600/... b/bes2600/...).
# They do NOT apply cleanly against the linux-pinetab2 baseline.
#
# DanctNIX siblings (-danctnix suffix) are selected here because ohm
# runs on the DanctNIX kernel base; the non-suffixed variants exist for
# vanilla mainline consumers that ohm doesn't currently have.
# Until the per-series mirrors are reconstructed (kernel-agent followup
# issue), the bes2600 driver scope is satisfied by a single-file
# cumulative captured from the working hand-managed
# danctnix-besser-pkgbuild flow on boltzmann (see
# patches/driver/bes2600/cumulative-c5x-danctnix/README.md). This is
# the c5x stack as it shipped in pkgrel=3 on 2026-05-18.
includes:
# Default-on series (uncontroversial fixes that ohm already runs):
- driver/bes2600/staging-prep-series-danctnix/
- driver/bes2600/pm-state-resync-danctnix/
- driver/bes2600/pm-timeout-silence-danctnix/
- driver/bes2600/pm-wake-consume-state-danctnix/
- driver/bes2600/pm-gate-on-handshake/
- driver/bes2600/pm-detect-firmware-unsupported-danctnix/
- driver/bes2600/scan-defer-backoff-tune-danctnix/
- driver/bes2600/scan-defer-on-reject-danctnix/
- driver/bes2600/lmac-recover-via-mmc-hw-reset-danctnix/
- driver/bes2600/tx-sdio-dma-oob-danctnix/
- driver/bes2600/factory-series/
- driver/bes2600/factory-thread-dev/
- driver/bes2600/factory-drop-kernel-write-danctnix/
- driver/bes2600/drop-dpd-file-paths-danctnix/
- driver/bes2600/drop-orphan-file-io-danctnix/
- driver/bes2600/remove-chardev-user-interface/
- driver/bes2600/enable-testmode/
# bes2600 driver (c5x stack as shipped in pkgrel=3) — single-file
# interim cumulative; per-series reconstruction tracked separately.
- driver/bes2600/cumulative-c5x-danctnix/
# close besser#1 — refuse multi-channel 5 GHz scans at driver boundary.
- driver/bes2600/scan-filter-5ghz-danctnix/
# GCC 15.2.1 build-fix for arm_neon.h + SHADOW_CALL_STACK interaction.
# Runtime no-op as long as the config has CONFIG_SHADOW_CALL_STACK=n
# (current ohm setting). Kept in the manifest for the day SCS gets
# re-enabled. See reference_arm64_scs_arm_neon_gcc15 memory.
- arch/arm64/xor-neon-ffixed-x18-scs-build-fix-danctnix/
# Explicitly NOT included (decision logged):
# - debian-copyright-fsf-address: Debian packaging metadata, not kernel
# - bare (non-danctnix) variants of the above: ohm runs DanctNIX base
# - bare (non-danctnix) variants of the per-series mirrors: same
# root-path bug as the -danctnix variants per the 2026-05-18 audit
config:
source: hand-managed config file in boltzmann:~/src/besser/marfrit-besser/danctnix-besser-pkgbuild/kernel/config
@@ -91,9 +86,11 @@ verify:
- wlan0 + bt0 (BT/UART) present after boot
- sdio_force_uhs=0 not needed (DMA-OOB-read fix in tx-sdio-dma-oob series)
bar4_per_patch_probe: opt-in
bar5_burn_in: opt-in
- WiFi: 24h iperf3 to LAN host without rxhang
- PM: lid-close → wake cycles × 100 without bes2600 confirm-loss
bar5_burn_in:
mode: opt-in
tests:
- "WiFi: 24h iperf3 to LAN host without rxhang"
- "PM: lid-close → wake cycles × 100 without bes2600 confirm-loss"
build_host:
primary: boltzmann # native aarch64 with ohm's identical .config