V8.00.000.2025.06.17
Signed-off-by: Marc S. Weidner <msw@coresecret.dev>
This commit is contained in:
@@ -15,9 +15,6 @@
|
||||
|
||||
guard_sourcing
|
||||
|
||||
### Variable to finish GRUB CMDLINE strings.
|
||||
declare -grx VAR_H='"'
|
||||
|
||||
#######################################
|
||||
# Helper module to extract the current GRUB CMDLINE strings.
|
||||
# Globals:
|
||||
@@ -52,30 +49,43 @@ old_grub_extract_current_string() {
|
||||
# VV_GRUB_CMDLINE_LINUX_DEFAULT
|
||||
# Arguments:
|
||||
# None
|
||||
# Returns:
|
||||
# 0: on success
|
||||
#######################################
|
||||
grub_extract_current_string() {
|
||||
### Declare Arrays, HashMaps, and Variables.
|
||||
declare -gx VAR_ORIG_GRUB_CMDLINE_LINUX="" VAR_ORIG_GRUB_CMDLINE_LINUX_DEFAULT="" \
|
||||
VK_GRUB_CMDLINE_LINUX='' VK_GRUB_CMDLINE_LINUX_DEFAULT='' \
|
||||
VV_GRUB_CMDLINE_LINUX="" VV_GRUB_CMDLINE_LINUX_DEFAULT=""
|
||||
VK_GRUB_CMDLINE_LINUX='' VK_GRUB_CMDLINE_LINUX_DEFAULT='' \
|
||||
VV_GRUB_CMDLINE_LINUX="" VV_GRUB_CMDLINE_LINUX_DEFAULT=""
|
||||
declare vv_raw_lin="" vv_raw_lin_def=""
|
||||
|
||||
### Original lines (retained, strictly anchored).
|
||||
VAR_ORIG_GRUB_CMDLINE_LINUX=$(grep -E '^GRUB_CMDLINE_LINUX=' "${TARGET}/etc/default/grub")
|
||||
VAR_ORIG_GRUB_CMDLINE_LINUX_DEFAULT=$(grep -E '^GRUB_CMDLINE_LINUX_DEFAULT=' "${TARGET}/etc/default/grub")
|
||||
|
||||
# TODO REMOVE DEBUG LOGGER
|
||||
do_log "debug" "file_only" "1081() Value of VAR_ORIG_GRUB_CMDLINE_LINUX: [${VAR_ORIG_GRUB_CMDLINE_LINUX}]."
|
||||
do_log "debug" "file_only" "1081() Value of VAR_ORIG_GRUB_CMDLINE_LINUX_DEFAULT: [${VAR_ORIG_GRUB_CMDLINE_LINUX_DEFAULT}]."
|
||||
# TODO REMOVE DEBUG LOGGER
|
||||
|
||||
### Keys (fixed prefixes).
|
||||
VK_GRUB_CMDLINE_LINUX='GRUB_CMDLINE_LINUX='
|
||||
VK_GRUB_CMDLINE_LINUX_DEFAULT='GRUB_CMDLINE_LINUX_DEFAULT='
|
||||
|
||||
# TODO REMOVE DEBUG LOGGER
|
||||
do_log "debug" "file_only" "1081() Value of VK_GRUB_CMDLINE_LINUX: [${VK_GRUB_CMDLINE_LINUX}]."
|
||||
do_log "debug" "file_only" "1081() Value of VK_GRUB_CMDLINE_LINUX_DEFAULT: [${VK_GRUB_CMDLINE_LINUX_DEFAULT}]."
|
||||
# TODO REMOVE DEBUG LOGGER
|
||||
|
||||
### Raw values (with quotes if necessary).
|
||||
# shellcheck disable=SC2295
|
||||
vv_raw_lin="${VAR_ORIG_GRUB_CMDLINE_LINUX#${VK_GRUB_CMDLINE_LINUX}}"
|
||||
# shellcheck disable=SC2295
|
||||
vv_raw_lin_def="${VAR_ORIG_GRUB_CMDLINE_LINUX_DEFAULT#${VK_GRUB_CMDLINE_LINUX_DEFAULT}}"
|
||||
|
||||
# TODO REMOVE DEBUG LOGGER
|
||||
do_log "debug" "file_only" "1081() Value of vv_raw_lin: [${vv_raw_lin}]."
|
||||
do_log "debug" "file_only" "1081() Value of vv_raw_lin_def: [${vv_raw_lin_def}]."
|
||||
# TODO REMOVE DEBUG LOGGER
|
||||
|
||||
### Remove outer quotes symmetrically.
|
||||
if [[ -n ${vv_raw_lin} ]]; then
|
||||
|
||||
@@ -114,8 +124,6 @@ grub_extract_current_string() {
|
||||
VV_GRUB_CMDLINE_LINUX="${vv_raw_lin}"
|
||||
# shellcheck disable=SC2034
|
||||
VV_GRUB_CMDLINE_LINUX_DEFAULT="${vv_raw_lin_def}"
|
||||
|
||||
return 0
|
||||
}
|
||||
|
||||
#######################################
|
||||
@@ -130,8 +138,6 @@ grub_extract_current_string() {
|
||||
# VV_GRUB_CMDLINE_LINUX_DEFAULT
|
||||
# Arguments:
|
||||
# None
|
||||
# Returns:
|
||||
# 0 ...
|
||||
#######################################
|
||||
grub_finalize_string() {
|
||||
### Declare Arrays, HashMaps, and Variables.
|
||||
@@ -141,6 +147,12 @@ grub_finalize_string() {
|
||||
declare var_new_lin_def="${VK_GRUB_CMDLINE_LINUX_DEFAULT}'${VV_GRUB_CMDLINE_LINUX_DEFAULT}'"
|
||||
declare -i var_found_lin=0 var_found_lin_def=0 var_line=0 i=0
|
||||
|
||||
# TODO REMOVE DEBUG LOGGER
|
||||
do_log "debug" "file_only" "1081() var_new_lin [${var_new_lin}]."
|
||||
do_log "debug" "file_only" "1081() var_new_lin [${var_new_lin_def}]."
|
||||
do_log "debug" "file_only" "1081() Before [mapfile -t ary_lines < ${var_file}]."
|
||||
# TODO REMOVE DEBUG LOGGER
|
||||
|
||||
mapfile -t ary_lines < "${var_file}"
|
||||
|
||||
### Replace lines strictly based on the key (including '=').
|
||||
@@ -148,6 +160,10 @@ grub_finalize_string() {
|
||||
|
||||
var_line=${ary_lines[i]}
|
||||
|
||||
# TODO REMOVE DEBUG LOGGER
|
||||
do_log "debug" "file_only" "1081() [Line '${i}': ${var_line}]."
|
||||
# TODO REMOVE DEBUG LOGGER
|
||||
|
||||
case "${var_line}" in
|
||||
|
||||
"${VK_GRUB_CMDLINE_LINUX}"*)
|
||||
@@ -181,7 +197,10 @@ grub_finalize_string() {
|
||||
declare -gx VAR_GRUB_CMDLINE_LINUX="${var_new_lin}"
|
||||
declare -gx VAR_GRUB_CMDLINE_LINUX_DEFAULT="${var_new_lin_def}"
|
||||
|
||||
return 0
|
||||
# TODO REMOVE DEBUG LOGGER
|
||||
do_log "debug" "file_only" "1081() VAR_GRUB_CMDLINE_LINUX [${VAR_GRUB_CMDLINE_LINUX}]."
|
||||
do_log "debug" "file_only" "1081() VAR_GRUB_CMDLINE_LINUX_DEFAULT [${VAR_GRUB_CMDLINE_LINUX_DEFAULT}]."
|
||||
# TODO REMOVE DEBUG LOGGER
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user