diff options
| author | Craig Jennings <c@cjennings.net> | 2026-05-19 12:24:43 -0500 |
|---|---|---|
| committer | Craig Jennings <c@cjennings.net> | 2026-05-19 12:24:43 -0500 |
| commit | e49a95254d439e5e83c05756a3bc92e4575360b0 (patch) | |
| tree | fd388cb615bfba9ca645d2114ef09c6dbd23813f /installer/lib/btrfs.sh | |
| parent | e2eb958c4fab1d61263b724eebd861489af73359 (diff) | |
| download | archangel-e49a95254d439e5e83c05756a3bc92e4575360b0.tar.gz archangel-e49a95254d439e5e83c05756a3bc92e4575360b0.zip | |
refactor: lift FILES= keyfile sed to ensure_initramfs_files helper
btrfs.sh's configure_btrfs_initramfs had a six-line inline that ensured mkinitcpio.conf's FILES= line listed the LUKS keyfile: sed-replace the existing FILES= line, then grep + append as a fallback when no FILES= line existed. The pattern is mkinitcpio-specific and self-healing rather than error-on-miss (FILES= is optional in mkinitcpio.conf, so missing means "no extra files," not a broken config).
I lifted the block into ensure_initramfs_files in lib/common.sh next to prepend_grub_cmdline_linux, then collapsed the btrfs.sh call site to a single ensure_initramfs_files line. Added three bats tests for the three cases (FILES= present and empty, FILES= present with a different value, FILES= absent entirely). Bats: 174 → 177.
No behavior change. The helper's logic matches the inline byte-for-byte: same sed pattern, same grep fallback, same final state.
Diffstat (limited to 'installer/lib/btrfs.sh')
| -rw-r--r-- | installer/lib/btrfs.sh | 6 |
1 files changed, 1 insertions, 5 deletions
diff --git a/installer/lib/btrfs.sh b/installer/lib/btrfs.sh index 0715ba7..0a34be0 100644 --- a/installer/lib/btrfs.sh +++ b/installer/lib/btrfs.sh @@ -212,11 +212,7 @@ configure_luks_initramfs() { # Include keyfile in initramfs for testing mode (unattended boot) if [[ "${TESTING:-}" == "yes" ]]; then info "Testing mode: embedding keyfile in initramfs" - sed -i "s|^FILES=.*|FILES=($LUKS_KEYFILE)|" $MNTPOINT/etc/mkinitcpio.conf - # If FILES line doesn't exist, add it - if ! grep -q "^FILES=" $MNTPOINT/etc/mkinitcpio.conf; then - echo "FILES=($LUKS_KEYFILE)" >> $MNTPOINT/etc/mkinitcpio.conf - fi + ensure_initramfs_files "$LUKS_KEYFILE" "$MNTPOINT/etc/mkinitcpio.conf" fi # Create crypttab.initramfs for sd-encrypt (used by multi-disk LUKS) |
