Skip to content

Commit

Permalink
zfsbootmenu/*: tab-delimit kernel lists for boot environments
Browse files Browse the repository at this point in the history
  • Loading branch information
ahesford committed Oct 24, 2023
1 parent 2958aaf commit 9588659
Show file tree
Hide file tree
Showing 4 changed files with 10 additions and 10 deletions.
2 changes: 1 addition & 1 deletion zfsbootmenu/bin/zfsbootmenu
Original file line number Diff line number Diff line change
Expand Up @@ -131,7 +131,7 @@ while true; do
zdebug "selected kernel: ${selected_kernel}"

# shellcheck disable=SC2034
IFS=' ' read -r fs kpath initrd <<< "${selected_kernel}"
IFS=$'\t' read -r fs kpath initrd <<< "${selected_kernel}"

case "${subkey}" in
"enter")
Expand Down
6 changes: 3 additions & 3 deletions zfsbootmenu/lib/zfsbootmenu-core.sh
Original file line number Diff line number Diff line change
Expand Up @@ -318,7 +318,7 @@ kexec_kernel() {
# zfs filesystem
# kernel
# initramfs
IFS=' ' read -r fs kernel initramfs <<<"${selected}"
IFS=$'\t' read -r fs kernel initramfs <<<"${selected}"

zdebug "fs: ${fs}, kernel: ${kernel}, initramfs: ${initramfs}"

Expand Down Expand Up @@ -820,7 +820,7 @@ find_be_kernels() {
zdebug "found kernel: ${mnt}${kpath}, initramfs ${mnt}${ipath}"
ipath="${ipath#"${mnt}"}"
ipath="/${ipath#/}"
echo "${fs} ${kpath} ${ipath}" >> "${kernel_records}"
printf "%s\t%s\t%s\n" "${fs}" "${kpath}" "${ipath}" >> "${kernel_records}"
else
zdebug "kernel ${mnt}${kpath} has no initramfs"
fi
Expand Down Expand Up @@ -872,7 +872,7 @@ select_kernel() {
zdebug "org.zfsbootmenu:kernel set to ${specific_kernel}"
while read -r spec_kexec_args; do
local fs kernel initramfs
IFS=' ' read -r fs kernel initramfs <<<"${spec_kexec_args}"
IFS=$'\t' read -r fs kernel initramfs <<<"${spec_kexec_args}"
if [[ "${kernel}" =~ ${specific_kernel} ]]; then
zdebug "matched ${kernel} to ${specific_kernel}"
kexec_args="${spec_kexec_args}"
Expand Down
10 changes: 5 additions & 5 deletions zfsbootmenu/lib/zfsbootmenu-ui.sh
Original file line number Diff line number Diff line change
Expand Up @@ -169,7 +169,7 @@ draw_be() {
${HAS_BORDER:+--preview-label-pos=2:bottom} \
${HAS_BORDER:+--preview-label="$( colorize orange " ${preview_label} " )"} \
--header="${header}" --preview-window="up:${PREVIEW_HEIGHT}${HAS_BORDER:+,border-sharp}" \
--preview="/libexec/zfsbootmenu-preview {} ${BOOTFS}" < "${env}" )"; then
--preview="/libexec/zfsbootmenu-preview {} '${BOOTFS}'" < "${env}" )"; then
return 1
fi

Expand Down Expand Up @@ -214,10 +214,10 @@ draw_kernel() {
expects="--expect=alt-d,alt-u,left,right"

if ! selected="$( HELP_SECTION=kernel-management ${FUZZYSEL} \
--prompt "${benv} > " --tac --with-nth=2 --header="${header}" \
${HAS_BORDER:+--border-label="$( global_header )"} \
--prompt "${benv} > " --tac --delimiter=$'\t' --with-nth=2 \
--header="${header}" ${HAS_BORDER:+--border-label="$( global_header )"} \
${expects} ${expects//alt-/ctrl-} ${expects//alt-/ctrl-alt-} \
--preview="/libexec/zfsbootmenu-preview ${benv} ${BOOTFS}" \
--preview="/libexec/zfsbootmenu-preview '${benv}' '${BOOTFS}'" \
--preview-window="up:${PREVIEW_HEIGHT}${HAS_BORDER:+,border-sharp}" < "${_kernels}" )"; then
return 1
fi
Expand Down Expand Up @@ -321,7 +321,7 @@ draw_snapshots() {
--bind="ctrl-alt-d:execute[ /libexec/zfsbootmenu-diff {+} ]${HAS_REFRESH:++refresh-preview}" \
${HAS_BORDER:+--preview-label-pos=${preview_offset:+${preview_offset}}bottom} \
${HAS_BORDER:+--preview-label="${context}"} \
--preview="/libexec/zfsbootmenu-preview ${benv} ${BOOTFS} ${LEGACY_CONTEXT:+\"${context}\"}" \
--preview="/libexec/zfsbootmenu-preview '${benv}' '${BOOTFS}' ${LEGACY_CONTEXT:+\"${context}\"}" \
--preview-window="up:$(( PREVIEW_HEIGHT + ${LEGACY_CONTEXT:-0} ))${HAS_BORDER:+,border-sharp}" <<<"${snapshots}" )"
then
return 1
Expand Down
2 changes: 1 addition & 1 deletion zfsbootmenu/libexec/zfsbootmenu-preview
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ ENV="${1}"
BOOTFS="${2}"

# shellcheck disable=SC2034
IFS=' ' read -r _fs selected_kernel _initramfs <<<"$( select_kernel "${ENV}" || echo "- missing -" )"
IFS=$'\t' read -r _fs selected_kernel _initramfs <<<"$( select_kernel "${ENV}" || echo "- missing -" )"
selected_kernel="${selected_kernel##*/}"

if [ "${BOOTFS}" = "${ENV}" ]; then
Expand Down

0 comments on commit 9588659

Please sign in to comment.