mirror of
https://codeberg.org/privacy1st/arch
synced 2024-12-23 01:16:04 +01:00
27 lines
819 B
Bash
27 lines
819 B
Bash
#!/bin/sh
|
|
# stdin: default config
|
|
# stdout: modified config
|
|
set -e
|
|
|
|
# save stdin (content of /etc/mkinitcpio.conf) in variable
|
|
stdin="$(cat)"
|
|
|
|
# assert MODULES is empty
|
|
echo "$stdin" | grep --quiet '^MODULES=()'
|
|
|
|
# assert HOOKS is as expected
|
|
echo "$stdin" | grep --quiet '^HOOKS=(base udev autodetect modconf block filesystems keyboard fsck)'
|
|
|
|
# assert no COMPRESSION option is enabled yet
|
|
! echo "$stdin" | grep --quiet '^COMPRESSION='
|
|
|
|
# assert lz4 COMPRESSION is uncommented
|
|
echo "$stdin" | grep --quiet '^#COMPRESSION="lz4"'
|
|
|
|
# 1) add to MODULES; 2 replace HOOKS; 3) uncomment lz4 COMPRESSION
|
|
echo "$stdin" | sed '
|
|
s|^MODULES=(|MODULES=(crc32c-intel |;
|
|
s|^#COMPRESSION="lz4".*$|COMPRESSION="lz4"|;
|
|
s|^HOOKS=(.*$|HOOKS=(base udev modconf block keyboard keymap encrypt lvm2 btrfs filesystems fsck resume)|
|
|
'
|