V8.00.000.2025.06.17
All checks were successful
🛡️ Shell Script Linting / 🛡️ Shell Script Linting (push) Successful in 1m54s
All checks were successful
🛡️ Shell Script Linting / 🛡️ Shell Script Linting (push) Successful in 1m54s
Signed-off-by: Marc S. Weidner <msw@coresecret.dev>
This commit is contained in:
@@ -16,10 +16,10 @@ guard_sourcing
|
||||
# Set locale, locale overrides and configure keyboard layout.
|
||||
# Globals:
|
||||
# ARY_LOCALE
|
||||
# RECOVERY
|
||||
# TARGET
|
||||
# VAR_ARCHITECTURE
|
||||
# VAR_CODENAME
|
||||
# VAR_VERSION
|
||||
# VAR_DATE
|
||||
# VAR_RUN_RECOVERY
|
||||
# locale_country
|
||||
# locale_keyboard_xkb_keymap
|
||||
# locale_language
|
||||
@@ -42,15 +42,22 @@ guard_sourcing
|
||||
setup_locales() {
|
||||
### Declare Arrays, HashMaps, and Variables.
|
||||
declare var_locale_hook="/root/.ciss/cdi/hooks/4050_setup_locales.hooks.sh"
|
||||
declare var_target="${TARGET}"
|
||||
|
||||
### Check for TARGET / RECOVERY.
|
||||
[[ "${VAR_RUN_RECOVERY}" == "true" ]] && var_target="${RECOVERY}"
|
||||
|
||||
### Give priority to '${locale_locale}' over separately configured variables '${locale_country}' and '${locale_language}'.
|
||||
### If 'locale_locale' is not set, build it from 'locale_language' and 'locale_country'.
|
||||
if [[ -n "${locale_language:-}" && -n "${locale_country:-}" && -z "${ARY_LOCALE[0]:-}" ]]; then
|
||||
|
||||
# shellcheck disable=SC2034
|
||||
ARY_LOCALE+="${locale_language}_${locale_country}.UTF-8"
|
||||
|
||||
fi
|
||||
|
||||
### Creat Hook in target.
|
||||
cat << EOF >| "${TARGET}${var_locale_hook}"
|
||||
cat << EOF >| "${var_target}${var_locale_hook}"
|
||||
#!/bin/bash
|
||||
# SPDX-Version: 3.0
|
||||
# SPDX-CreationInfo: ${VAR_DATE}; WEIDNER, Marc S.; <msw@coresecret.dev>
|
||||
@@ -72,7 +79,7 @@ declare loc=""
|
||||
|
||||
EOF
|
||||
|
||||
cat << 'EOF' >> "${TARGET}${var_locale_hook}"
|
||||
cat << 'EOF' >> "${var_target}${var_locale_hook}"
|
||||
ary_locale+=( "${locale_0}" )
|
||||
[[ -n "${locale_1}" ]] && ary_locale+=( "${locale_1}" )
|
||||
|
||||
@@ -94,7 +101,7 @@ done
|
||||
|
||||
EOF
|
||||
|
||||
cat << EOF >> "${TARGET}${var_locale_hook}"
|
||||
cat << EOF >> "${var_target}${var_locale_hook}"
|
||||
update-locale \
|
||||
LANG=${ARY_LOCALE[0]} \
|
||||
LC_ADDRESS=${locale_override_address:-${ARY_LOCALE[0]}} \
|
||||
@@ -112,13 +119,13 @@ LC_IDENTIFICATION=${ARY_LOCALE[0]}
|
||||
|
||||
# vim: number et ts=2 sw=2 sts=2 ai tw=128 ft=sh
|
||||
EOF
|
||||
chmod 0700 "${TARGET}${var_locale_hook}"
|
||||
chroot_script "${TARGET}" "${var_locale_hook}"
|
||||
chmod 0700 "${var_target}${var_locale_hook}"
|
||||
chroot_script "${var_target}" "${var_locale_hook}"
|
||||
|
||||
### Set the keyboard layout for the system (for consoles).
|
||||
insert_header "${TARGET}/etc/default/keyboard"
|
||||
insert_comments "${TARGET}/etc/default/keyboard"
|
||||
cat << EOF >> "${TARGET}/etc/default/keyboard"
|
||||
insert_header "${var_target}/etc/default/keyboard"
|
||||
insert_comments "${var_target}/etc/default/keyboard"
|
||||
cat << EOF >> "${var_target}/etc/default/keyboard"
|
||||
# KEYBOARD CONFIGURATION FILE
|
||||
# Consult the keyboard(5) manual page.
|
||||
|
||||
@@ -130,9 +137,12 @@ BACKSPACE="guess"
|
||||
|
||||
# vim: number et ts=2 sw=2 sts=2 ai tw=128 ft=conf
|
||||
EOF
|
||||
chmod 0644 "${TARGET}/etc/default/keyboard"
|
||||
do_log "info" "file_only" "4050() Keyboard layout updated: 'XKBLAYOUT=${locale_keyboard_xkb_keymap}' -> '${TARGET}/etc/default/keyboard'."
|
||||
chmod 0644 "${var_target}/etc/default/keyboard"
|
||||
do_log "info" "file_only" "4050() Keyboard layout updated: 'XKBLAYOUT=${locale_keyboard_xkb_keymap}' -> '${var_target}/etc/default/keyboard'."
|
||||
|
||||
guard_dir && return 0
|
||||
}
|
||||
### Prevents accidental 'unset -f'.
|
||||
# shellcheck disable=SC2034
|
||||
readonly -f setup_locales
|
||||
# vim: number et ts=2 sw=2 sts=2 ai tw=128 ft=sh
|
||||
|
||||
Reference in New Issue
Block a user