diff options
author | Mike Gilbert <floppym@gentoo.org> | 2022-05-15 12:37:51 -0400 |
---|---|---|
committer | Mike Gilbert <floppym@gentoo.org> | 2022-05-15 18:10:07 -0400 |
commit | 110cffbf0a10a6dabe902eecb9c139663ad737af (patch) | |
tree | 6cf4a1f8b4463fdea95a662c284afb8b7c3f81a2 | |
parent | fuse: Add patch to allow building against glibc-2.34 (diff) | |
download | genkernel-110cffbf0a10a6dabe902eecb9c139663ad737af.tar.gz genkernel-110cffbf0a10a6dabe902eecb9c139663ad737af.tar.bz2 genkernel-110cffbf0a10a6dabe902eecb9c139663ad737af.zip |
gen_initramfs.sh: append devicemanager only for specific modules
dmraid
luks
lvm
multipath
Bug: https://bugs.gentoo.org/749957
Signed-off-by: Mike Gilbert <floppym@gentoo.org>
-rwxr-xr-x | gen_funcs.sh | 9 | ||||
-rwxr-xr-x | gen_initramfs.sh | 11 |
2 files changed, 16 insertions, 4 deletions
diff --git a/gen_funcs.sh b/gen_funcs.sh index 500caf2d..db396e3e 100755 --- a/gen_funcs.sh +++ b/gen_funcs.sh @@ -22,6 +22,15 @@ isTrue() { return 1 } +anyTrue() { + local x + for x + do + isTrue "${x}" && return 0 + done + return 1 +} + set_color_vars() { if ! isTrue "${NOCOLOR}" then diff --git a/gen_initramfs.sh b/gen_initramfs.sh index 4ec296ef..0b74f4c0 100755 --- a/gen_initramfs.sh +++ b/gen_initramfs.sh @@ -2007,11 +2007,14 @@ append_auxiliary() { } append_data() { - local name=$1 var=$2 + [ $# -eq 0 ] && gen_die "append_data() called with zero arguments" + + local name=$1 local func="append_${name}" - [ $# -eq 0 ] && gen_die "append_data() called with zero arguments" - if [ $# -eq 1 ] || isTrue "${var}" + shift + + if [ $# -eq 0 ] || anyTrue "$@" then print_info 1 "$(get_indent 1)>> Appending ${name} cpio data ..." ${func} || gen_die "${func}() failed!" @@ -2037,7 +2040,7 @@ create_initramfs() { append_data 'base_layout' append_data 'util-linux' append_data 'eudev' - append_data 'devicemanager' + append_data 'devicemanager' "${DMRAID}" "${LVM}" "${LUKS}" "${MULTIPATH}" append_data 'auxiliary' "${BUSYBOX}" append_data 'busybox' "${BUSYBOX}" append_data 'b2sum' "${B2SUM}" |