summaryrefslogtreecommitdiff
path: root/configs/profile/root-image/root/.language.sh
diff options
context:
space:
mode:
authorbill-auger <mr.j.spam.me@gmail.com>2020-03-27 20:53:45 -0400
committerbill-auger <mr.j.spam.me@gmail.com>2022-05-01 23:58:14 -0400
commit5faac3e6a166a12a3a0cbb50be21a73632725651 (patch)
treef3118df3aecf2dc9f9f6013102f1c1d664599f53 /configs/profile/root-image/root/.language.sh
parent640513f18fec15f24fedf43eb8e86dfae6530637 (diff)
consolidate install wizards into unified implementation
this is admitedly a huge change, nearly a total re-write the original scripts were very brittle and redundant even without functional changes, a DRY refactoring would have been nearly as massive the functional changes for rubustness, were also quite significant it would not have been feasibe to break them down * consolidated all per-init and per-language scripts sets into one * extracted translatable strings into separate file * remvoed confusing main menu, in favor of sequential prompts * better error handling and logging * added cfdisk support for CLI ISOs (GUI ISO still launches gparted) * ensure that all target partitions are formatted
Diffstat (limited to 'configs/profile/root-image/root/.language.sh')
-rwxr-xr-xconfigs/profile/root-image/root/.language.sh209
1 files changed, 0 insertions, 209 deletions
diff --git a/configs/profile/root-image/root/.language.sh b/configs/profile/root-image/root/.language.sh
deleted file mode 100755
index bc8e9f5..0000000
--- a/configs/profile/root-image/root/.language.sh
+++ /dev/null
@@ -1,209 +0,0 @@
-#!/bin/bash
-
-readonly TIMEOUT=30
-readonly H=15
-readonly W=40
-readonly N_ITEMS=10
-
-readonly LANG_TITLE="System language selection"
-readonly LANG_PROMPT="Choose your language:"
-readonly LANG_DEFAULT='en_US.UTF-8'
-readonly KEYMAP_TITLE="System keymap selection"
-readonly KEYMAP_PROMPT="Choose your keymap:"
-readonly KEYMAP_DEFAULT='us'
-readonly INTERFACE_TITLE="Launch installer or command-line"
-readonly INTERFACE_PROMPT="Would you like to start the installer, or drop onto the command line?"
-readonly INTERFACE_DEFAULT='calamares'
-readonly INTERFACES=( 'calamares' 'wizard' 'cli' )
-
-readonly -a LANGUAGES=( 'en_US.UTF-8' "English" \
- 'eo' "Esperanto" \
- 'fr_FR.UTF-8' "French" \
- 'gl_ES.UTF-8' "Galego" \
- 'it_IT.UTF-8' "Italian" \
- 'pl_PL.UTF-8' "Polish" \
- 'pt_BR.UTF-8' "Portuguese" \
- 'es_ES.UTF-8' "Spanish" )
-readonly -a ESPERANTO_LANG_PACKS=( 'iceweasel-l10n-es-eo' )
-readonly -a SPANISH_LANG_PACKS=( 'iceweasel-l10n-es-ar' 'icedove-l10n-es-ar'
- 'iceweasel-l10n-es-cl'
- 'iceweasel-l10n-es-es' 'icedove-l10n-es-es'
- 'iceweasel-l10n-es-mx' )
-readonly -a FRENCH_LANG_PACKS=( 'iceweasel-l10n-fr' 'icedove-l10n-fr' )
-readonly -a GALEGO_LANG_PACKS=( 'iceweasel-l10n-gl' 'icedove-l10n-gl' )
-readonly -a ITALIAN_LANG_PACKS=( 'iceweasel-l10n-it' 'icedove-l10n-it' )
-readonly -a POLISH_LANG_PACKS=( 'iceweasel-l10n-pl' 'icedove-l10n-pl' )
-readonly -a PORTUGUESE_LANG_PACKS=( 'iceweasel-l10n-pt-br' 'icedove-l10n-pt-br' )
-
-readonly -a KEYMAPS=( 'af' "Afrikaans-Lang" \
- 'al' "Albanian" \
- 'am' "Amharic" \
- 'ara' "Arabic" \
- 'at' "at" \
- 'au' "au" \
- 'az' "Azerbaijani" \
- 'ba' "Bashkir" \
- 'be' "Belarusian" \
- 'bg' "Bulgarian" \
- 'bn' "Bihari-Languages" \
- 'br' "Breton" \
- 'brai' "brai" \
- 'bt' "bt" \
- 'bw' "bw" \
- 'by' "by" \
- 'ca' "Catalan" \
- 'cd' "cd" \
- 'ch' "Chamorro" \
- 'cm' "cm" \
- 'cn' "cn" \
- 'cz' "Czech" \
- 'de' "German" \
- 'dk' "dk" \
- 'dz' "Dzongkha" \
- 'ee' "Ewe" \
- 'epo' "Esperanto" \
- 'es' "Spanish" \
- 'et' "Estonian" \
- 'fi' "Finnish" \
- 'fo' "Faroese" \
- 'fr' "French" \
- 'gb' "gb" \
- 'ge' "ge" \
- 'gh' "gh" \
- 'gn' "GuaranĂ­" \
- 'gr' "gr" \
- 'hr' "Croatian" \
- 'hu' "Hungarian" \
- 'id' "Indonesian" \
- 'ie' "Interlingue" \
- 'il' "il" \
- 'in' "in" \
- 'iq' "iq" \
- 'ir' "ir" \
- 'is' "Icelandic" \
- 'it' "Italian" \
- 'jp' "Japanese" \
- 'ke' "ke" \
- 'kg' "Kongo" \
- 'kh' "kh" \
- 'kr' "Kanuri" \
- 'kz' "kz" \
- 'la' "Latin" \
- 'latam' "Latin-American" \
- 'lk' "lk" \
- 'lt' "Lithuanian" \
- 'lv' "Latvian" \
- 'ma' "ma" \
- 'mao' "Maori" \
- 'md' "md" \
- 'me' "me" \
- 'mk' "Macedonian" \
- 'ml' "Malayalam" \
- 'mm' "mm" \
- 'mn' "Mongolian" \
- 'mt' "Maltese" \
- 'mv' "mv" \
- 'my' "Burmese" \
- 'nec_vndr/jp' "nec_vndr/jp" \
- 'ng' "Ndonga" \
- 'nl' "Dutch" \
- 'no' "Norwegian" \
- 'np' "np" \
- 'ph' "ph" \
- 'pk' "pk" \
- 'pl' "Polish" \
- 'pt' "Portuguese" \
- 'ro' "Romanian" \
- 'rs' "rs" \
- 'ru' "Russian" \
- 'se' "Northern-Sami" \
- 'si' "Sinhala" \
- 'sk' "Slovak" \
- 'sn' "Shona" \
- 'sy' "sy" \
- 'tg' "Tajik" \
- 'th' "Thai" \
- 'tj' "tj" \
- 'tm' "tm" \
- 'tr' "Turkish" \
- 'tw' "Twi" \
- 'tz' "tz" \
- 'ua' "ua" \
- 'us' "English" \
- 'uz' "Uzbek" \
- 'vn' "vn" \
- 'za' "Zhuang" )
-readonly -a INSTALLER_DIRS=( './.install-openrc-lxde/packages' \
- './.install-systemd-mate/packages' )
-
-
-Prompt() # (title , prompt , default_option , options)
-{
- declare -l title=$1
- declare -l prompt=$2
- declare -l default_option=$3
- declare -l options="${@:4}"
-
- dialog --backtitle "$title" --stdout --no-tags --no-cancel --timeout $TIMEOUT \
- --default-item $default_option --menu "$prompt" $H $W $N_ITEMS $options
-}
-
-
-## prompt for language if not already selected ##
-
-language=$(grep 'LANG=' /root/.codecheck | cut -d '=' -f 2)
-if [ "${language// /}" == '_UNDEFINED_' ]
-then language=$(Prompt "$LANG_TITLE" "$LANG_PROMPT" $LANG_DEFAULT "${LANGUAGES[@]}")
- [ "${language}" == "" ] && language=$LANG_DEFAULT
- logger "$0: selected language='$language'"
-
- # prepare locale
- echo "LANG=${language}" > /etc/locale.conf
-
- # prepare language-specific install wizard
- language=${language/_*/}
- for init_de in `ls -d /root/.install-* | sed 's|/root/\.install-\(.*\)|\1|'`
- do ls /root/.install-${init_de}/language/${language}/ &> /dev/null || language='en'
- cp -a /root/.install-${init_de}/language/${language}/* /root/.install-${init_de}/
- done
-
- # include language-specific language packs in the install wizard package set
- for installer_dir in ${INSTALLER_DIRS[@]}
- do case ${language} in
- 'eo') echo "${ESPERANTO_LANG_PACKS[@]}" >> ${installer_dir}/packages ;;
- 'fr') echo "${FRENCH_LANG_PACKS[@]}" >> ${installer_dir}/packages ;;
- 'gl') echo "${GALEGO_LANG_PACKS[@]}" >> ${installer_dir}/packages ;;
- 'it') echo "${ITALIAN_LANG_PACKS[@]}" >> ${installer_dir}/packages ;;
- 'pl') echo "${POLISH_LANG_PACKS[@]}" >> ${installer_dir}/packages ;;
- 'pt') echo "${PORTUGUESE_LANG_PACKS[@]}" >> ${installer_dir}/packages ;;
- 'es') echo "${SPANISH_LANG_PACKS[@]}" >> ${installer_dir}/packages ;;
- esac
- done
-
- # confirm this selection
- sed -i "s/^LANG=.*/LANG=${language}/" /root/.codecheck
-fi
-
-
-## prompt for X11 keymap if not already selected ##
-
-keymap=$(grep 'XKBMAP=' /root/.codecheck | cut -d '=' -f 2)
-if [ "${keymap// /}" == '_UNDEFINED_' ]
-then keymap=$(Prompt "$KEYMAP_TITLE" "$KEYMAP_PROMPT" $KEYMAP_DEFAULT "${KEYMAPS[@]}")
- [ "${keymap}" == "" ] && keymap=$KEYMAP_DEFAULT
- logger "$0: selected keymap='$keymap'"
-
- # set keymap
- setxkbmap ${keymap} 2> /dev/null
-
- # confirm this selection
- sed -i "s/^XKBMAP=.*/XKBMAP=${keymap}/" /root/.codecheck
-fi
-
-
-## prompt to launch installer or CLI ##
-
-interface=$(Prompt "$INTERFACE_TITLE" "$INTERFACE_PROMPT" $INTERFACE_DEFAULT "${INTERFACES[@]}")
-[ "${interface}" == "" ] && interface=$INTERFACE_DEFAULT
-
-clear