summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbill-auger <mr.j.spam.me@gmail.com>2020-04-15 18:56:35 -0400
committerbill-auger <mr.j.spam.me@gmail.com>2020-04-16 04:59:00 -0400
commitd7f5ed7099b4fd9474aa9f4665aad1c3ee58beec (patch)
treeafe7ec8820c75ac5d02d172e3aa52e53a8020963
parent7f64fbfbd1608c00b8ea496f9268320adbe1ff49 (diff)
wip - consolidate install wizardsunified
-rw-r--r--configs/profile/root-image/etc/skel/.bash_profile27
-rw-r--r--configs/profile/root-image/root/.common.sh.inc258
-rwxr-xr-xconfigs/profile/root-image/root/.install/chroot-system.sh2
-rwxr-xr-xconfigs/profile/root-image/root/.install/chroot-user.sh2
-rwxr-xr-xconfigs/profile/root-image/root/.install/chroot-x11.sh2
-rwxr-xr-xconfigs/profile/root-image/root/.install/install.sh28
-rwxr-xr-xconfigs/profile/root-image/root/.session-init.sh51
-rw-r--r--configs/profile/root-image/root/.wizard-common.sh.inc262
-rw-r--r--configs/profile/root-image/root/customize_root_image-constants.inc7
-rwxr-xr-xconfigs/profile/root-image/root/customize_root_image.sh2
10 files changed, 330 insertions, 311 deletions
diff --git a/configs/profile/root-image/etc/skel/.bash_profile b/configs/profile/root-image/etc/skel/.bash_profile
index 987d27a..bdb2af7 100644
--- a/configs/profile/root-image/etc/skel/.bash_profile
+++ b/configs/profile/root-image/etc/skel/.bash_profile
@@ -3,6 +3,7 @@
#
[[ -f ~/.bashrc ]] && . ~/.bashrc
+IS_INITIAL_TTY=$( [[ -z "$DISPLAY" && "$(tty)" = /dev/tty1 ]] && echo 1 || echo 0 )
# set standard environment
@@ -14,20 +15,24 @@ ENABLE_TTS_BRLTTY='_ENABLE_TTS_BRLTTY_' # speech and braille
# customize environment
sudo /root/.remote-script.sh
-sudo /root/.session-init.sh
+(( $IS_INITIAL_TTY )) && sudo /root/.session-init.sh
export $(cat /etc/locale.conf)
Interface=$(grep 'IFACE=' /root/.session_state | cut -d '=' -f 2)
-
+sed -i '|^IFACE=.*|IFACE=_UNDEFINED_|' /root/.session_state
# launch accessibility features
[[ "$ENABLE_TTS_BRLTTY" == 'true' ]] && flock -n /run/talk-to-me.lck /usr/bin/talk-to-me
-
-# launch X or installer
-if [[ "${Interface}" =~ ^'calamares'$|^'live'$ ]]
-then [[ "${Interface}" =~ ^'calamares'$ ]] && export DESKTOP_SESSION='mini'
- [[ -z "$DISPLAY" -a "$(tty)" = /dev/tty1 ]] && exec startx || cat /etc/motd
-elif [[ "${Interface}" == 'wizard' ]]
-then ~/install.sh
-else cat /etc/motd
-fi
+# launch X, installer, or CLI
+case ${Interface} in
+'calamares'|'live')
+ [[ "${Interface}" == 'calamares' ]] && export DESKTOP_SESSION='mini'
+ (( $IS_INITIAL_TTY )) && exec startx || cat /etc/motd
+ ;;
+'wizard')
+ ~/install.sh
+ ;;
+*)
+ cat /etc/motd
+ ;;
+esac
diff --git a/configs/profile/root-image/root/.common.sh.inc b/configs/profile/root-image/root/.common.sh.inc
deleted file mode 100644
index 9e0850e..0000000
--- a/configs/profile/root-image/root/.common.sh.inc
+++ /dev/null
@@ -1,258 +0,0 @@
-readonly STATE_FILE=/root/.session_state
-readonly COMMON_FILE=/root/.common.sh.inc
-
-
-## state helpers ##
-
-SetStateVar() # (var_name value*)
-{
- local var_name=$1
- local value=$*
-
- sed -i "/^${var_name}=.*/d" ${STATE_FILE}
- echo "${var_name}=${value}" >> ${STATE_FILE}
-}
-
-GetStateVar() # (var_name)
-{
- local var_name=$1
-
- echo $(grep "${var_name}=" ${STATE_FILE} | cut -d '=' -f 2)
-}
-
-
-## translations for user-facing strings ##
-
-readonly LANG_KEY=$( [[ "$(GetStateVar 'LANG_KEY')" ]] && echo $(GetStateVar 'LANG_KEY') || echo 'en' )
-declare -A TR=(
- ## install.sh ##
-
- [menu-en]="Parabola Installation Wizard"
- [menu-en]="Instalación de Parabola"
- [menu-gl]="Instalación de Parabola"
- [menu-pt]="Instalação CLI do Parabola"
-
- [menu_format-en]="Format and Mount Partitions"
- [menu_format-es]="Formatear y Montar Particiones"
- [menu_format-gl]="Formatear e Montar Particiones"
- [menu_format-pt]="Formatar e Montar as Partições"
-
- [menu_base-en]="Install Base System"
- [menu_base-es]="Instalar Sistema Base"
- [menu_base-gl]="Instalar Sistema Base"
- [menu_base-pt]="Instalar o Sistema Base"
-
- [menu_config-en]="Configure System"
- [menu_config-es]="Configuración del Sistema"
- [menu_config-gl]="Configuración do Sistema"
- [menu_config-pt]="Configuração do Sistema"
-
- [menu_grub-en]="(Optional) Install GRUB"
- [menu_grub-es]="(Opcional) Instalar GRUB"
- [menu_grub-gl]="(Opcional) Instalar GRUB"
- [menu_grub-pt]="(Opcional) Instalar o GRUB"
-
- [menu_wmde-en]="(Optional) Install Parabola Desktop"
- [menu_wmde-es]="(Opcional) Instalar Parabola Escritorio"
- [menu_wmde-gl]="(Opcional) Instalar Parabola Escritorio"
- [menu_wmde-pt]="(Opcional) Instalar Parabola Ambiente Gráfico"
-
- [menu_user-en]="(Optional) Create User Account"
- [menu_user-es]="(Opcional) Crear Cuenta de Usuario"
- [menu_user-gl]="(Opcional) Crear Conta de Usuario"
- [menu_user-pt]="(Opcional) Adicionar uma Conta de Usuário"
-
- [menu_exit-en]="Exit"
- [menu_exit-es]="Salir"
- [menu_exit-gl]="Salir"
- [menu_exit-pt]="Sair"
-
- [base-en]="Select a base system:"
- [base-es]="Selecciona la base sistema:"
- [base-gl]="Selecciona a base sistema:"
- [base-pt]="Escolha a base sistema:"
-
- [base_mini-en]="Bare-bones minimal system"
- [base_mini-es]=""
- [base_mini-gl]=""
- [base_mini-pt]=""
-
- [base_posix-en]="Complete POSIX-compliant system"
- [base_posix-es]=""
- [base_posix-gl]=""
- [base_posix-pt]=""
-
- [init-en]="Select an init-system:"
- [init-es]="Selecciona la init-system:"
- [init-gl]="Selecciona a init-system:"
- [init-pt]="Escolha a init-system:"
-
- [init_openrc-en]="OpenRC - (Versatile init-system)"
- [init_openrc-es]="OpenRC - ()"
- [init_openrc-gl]="OpenRC - ()"
- [init_openrc-pt]="OpenRC - ()"
-
- [init_systemd-en]="SystemD - (Standard init-system)"
- [init_systemd-es]="SystemD - ()"
- [init_systemd-gl]="SystemD - ()"
- [init_systemd-pt]="SystemD - ()"
-
- [install-en]="Install from local media or network:"
- [install-es]=":"
- [install-gl]=":"
- [install-pt]=":"
-
- [install_offline-en]="Offline install (fast)"
- [install_offline-es]=""
- [install_offline-gl]=""
- [install_offline-pt]=""
-
- [install_online-en]="Online install (slow - internet required)"
- [install_online-es]=""
- [install_online-gl]=""
- [install_online-pt]=""
-
- [notice_optional-en]="NoticeOptional()"
- [notice_optional-es]=""
- [notice_optional-gl]=""
- [notice_optional-pt]=""
-
- [grub-en]="Would you like to install GRUB?"
- [grub-es]=""
- [grub-gl]=""
- [grub-pt]=""
-
- [yes-en]="Yes"
- [yes-es]=""
- [yes-gl]=""
- [yes-pt]=""
-
- [no-en]="No"
- [no-es]=""
- [no-gl]=""
- [no-pt]=""
-
- [wmde-en]="Select a graphical environment:"
- [wmde-es]="Selecciona la Escritorio:"
- [wmde-gl]="Selecciona a Escritorio:"
- [wmde-pt]="Escolha a Ambiente Gráfico:"
-
- [wmde_cli-en]="Command-line only"
- [wmde_cli-es]=""
- [wmde_cli-gl]=""
- [wmde_cli-pt]=""
-
- [wmde_lxde-en]="LXDE Desktop Environment"
- [wmde_lxde-es]=""
- [wmde_lxde-gl]=""
- [wmde_lxde-pt]=""
-
- [wmde_mate-en]="Mate Desktop Environment"
- [wmde_mate-es]=""
- [wmde_mate-gl]=""
- [wmde_mate-pt]=""
-
- [user-en]="Would you like to create a login user?"
- [user-es]=""
- [user-gl]=""
- [user-pt]=""
-
-
- ## partition.sh ##
-
- [hdd-en]="Select Hard Disk:"
- [hdd-es]="Selecciona Disco Duro:"
- [hdd-gl]="Selecciona Disco Duro:"
- [hdd-pt]="Escolha o Disco:"
-
- [part-en]="Partitioning method:"
- [part-es]="Metodo de Particionado:"
- [part-gl]="Metodo de Particionado:"
- [part-pt]="Método de Particionamento:"
-
- [part_auto-en]="Use entire disk (with 1GB swap)"
- [part_auto-es]="Usar todo el disco (con 1GB swap)"
- [part_auto-gl]="Usar todo o disco (con 1GB swap)"
- [part_auto-pt]="Usar todo o disco (com o 1GB swap)"
-
- [part_man-en]="Manual partitioning"
- [part_man-es]="Usar gparted para personalizar"
- [part_man-gl]="Usar gparted para personalizar"
- [part_man-pt]="Usar o gparted para personalizar"
-
- [mount_root-en]="Mount / Partition:"
- [mount_root-es]="Montar particion /:"
- [mount_root-gl]="Montar particion /:"
- [mount_root-pt]="Montar a partição /:"
-
- [mount_other-en]="Mount other partition?"
- [mount_other-es]="¿Montar otra particion?"
- [mount_other-gl]="¿Montar outra particion?"
- [mount_other-pt]="Quer montar outra partição?"
-
- [mount_boot-en]="Mount /boot Partition"
- [mount_boot-es]="Montar particion /boot"
- [mount_boot-gl]="Montar particion /boot"
- [mount_boot-pt]="Montar a partição /boot"
-
- [mount_home-en]="Mount /home Partition"
- [mount_home-es]="Montar particion /home"
- [mount_home-gl]="Montar particion /home"
- [mount_home-pt]="Montar a partição /home"
-
-
- ## systemdConfig.sh ##
-
- [hostname-en]="Enter Hostname:"
- [hostname-es]="Introduce el nombre del sistema:"
- [hostname-gl]="Introduce o nome do sistema:"
- [hostname-pt]="Adicione o nome do sistema:"
-
- [timezone-en]="Enter your Zone Time\ne.g. America/New_York\ne.g. Europe/London:"
- [timezone-es]="Introduce la Zona Horaria:\nPor ejemplo: America/New_York\nPor ejemplo: Europe/Madrid:"
- [timezone-gl]="Introduce a Zona Horaria:\nPor ejemplo: America/New_York\nPor ejemplo: Europe/Madrid:"
- [timezone-pt]="Adicione o Fuso Horário:\nPor exemplo: America/Sao_Paulo:"
-
- [keymap-en]="Select Keymap:"
- [keymap-es]="Selecciona la distribucion del teclado:"
- [keymap-gl]="Selecciona a distribucion do teclado:"
- [keymap-pt]="Escolha a distribuição do teclado:"
-
- [locales-en]="Select Locales:"
- [locales-es]="Selecciona las Localizaciones:"
- [locales-gl]="Selecciona as Localizacions:"
- [locales-pt]="Escolha as Localizações:"
-
- [language-en]="Select your language:"
- [language-es]="Selecciona tu idioma:"
- [language-gl]="Selecciona o teu idioma:"
- [language-pt]="Escolha a sua língua:"
-
- [root_pass-en]="Choose a password for the 'root' administator:"
- [root_pass-es]="Inserta la contraseña para el 'root' administrador:"
- [root_pass-gl]="Insire o contrasinal para o 'root' administrador:"
- [root_pass-pt]="Insira a senha para o 'root' administrador:"
-
- [root_pass2-en]="Repeat the password for the 'root' administator:"
- [root_pass2-es]="Repite la contraseña para el 'root' administrador:"
- [root_pass2-gl]="Repite o contrasinal para o 'root' administrador:"
- [root_pass2-pt]="Repita a senha para o 'root' administrador:"
-
-
- ## userAccount.sh ##
-
- [user_login-en]="Choose a username for login user:"
- [user_login-es]="Introduce nombre de usuario:"
- [user_login-gl]="Introduce un nome de usuario:"
- [user_login-pt]="Insira o nome do usuário:"
-
- [user_pass-en]="Choose a password for login user:"
- [user_pass-es]="Introduce la contraseñara para el usuario:"
- [user_pass-gl]="Introduce o contrasinal para o usuario:"
- [user_pass-pt]="Insira a senha para o usuário:"
-
- [user_pass2-en]="Repeat the password for login user:"
- [user_pass-es]="Repite la contraseñara para el usuario:"
- [user_pass-gl]="Repite o contrasinal:"
- [user_pass-pt]="Repita a senha:"
-)
diff --git a/configs/profile/root-image/root/.install/chroot-system.sh b/configs/profile/root-image/root/.install/chroot-system.sh
index b94f051..9a31919 100755
--- a/configs/profile/root-image/root/.install/chroot-system.sh
+++ b/configs/profile/root-image/root/.install/chroot-system.sh
@@ -1,6 +1,6 @@
#!/bin/bash
-source /root/.common.sh.inc
+source /root/.wizard-common.sh.inc
# prompt for hostname
diff --git a/configs/profile/root-image/root/.install/chroot-user.sh b/configs/profile/root-image/root/.install/chroot-user.sh
index 5e82b22..ca00dd3 100755
--- a/configs/profile/root-image/root/.install/chroot-user.sh
+++ b/configs/profile/root-image/root/.install/chroot-user.sh
@@ -1,6 +1,6 @@
#!/bin/bash
-source /root/.common.sh.inc
+source /root/.wizard-common.sh.inc
readonly WHEEL_SUDOERS_SED_CMD='s|[#] [%]wheel ALL=[(]ALL[)] ALL|%wheel ALL=(ALL) ALL|'
diff --git a/configs/profile/root-image/root/.install/chroot-x11.sh b/configs/profile/root-image/root/.install/chroot-x11.sh
index f4d262d..a00677c 100755
--- a/configs/profile/root-image/root/.install/chroot-x11.sh
+++ b/configs/profile/root-image/root/.install/chroot-x11.sh
@@ -1,6 +1,6 @@
#!/bin/bash
-source /root/.common.sh.inc
+source /root/.wizard-common.sh.inc
init=$(GetStateVar 'INIT')
diff --git a/configs/profile/root-image/root/.install/install.sh b/configs/profile/root-image/root/.install/install.sh
index 05764af..05aecb5 100755
--- a/configs/profile/root-image/root/.install/install.sh
+++ b/configs/profile/root-image/root/.install/install.sh
@@ -1,6 +1,6 @@
#!/bin/bash
-source /root/.common.sh.inc
+source /root/.wizard-common.sh.inc
readonly PACCONF_NONSYSTEMD_REGEX='N ; s|^#\[nonsystemd\].*#Include|\[nonsystemd\]\nInclude|'
readonly PACCONF_SYSTEMD_REGEX='N ; s|^\[nonsystemd\].*Include|#\[nonsystemd\]\n#Include|'
@@ -83,6 +83,11 @@ Partition()
esac
}
+NoticeCustomize()
+{
+ dialog --stdout --msgbox "${TR[notice_customize-${LANG_KEY}]}" 20 70
+}
+
InstallBase()
{
# prompt for base package set
@@ -126,7 +131,7 @@ ConfigChroot()
NoticeOptional()
{
- dialog --stdout --message "${TR[notice_optional-${LANG_KEY}]}" # TODO:
+ dialog --stdout --msgbox "${TR[notice_optional-${LANG_KEY}]}" 20 70
}
InstallGrub()
@@ -192,14 +197,15 @@ Cleanup()
## main entry ##
-InitKeyring # Initialize the pacman keyring
-Partition # Partition and mount target disks
-InstallBase # Install base system
-ConfigChroot # Generate fstab and configure system in-chroot
-NoticeOptional # Install grub
-InstallGrub # Install grub
-InstallWmDe # Install GUI packages and configure services in-chroot
-CreateUser # Create unpriviledged login user in-chroot
-Cleanup # Remove helper scripts from the chroot and un-mount target disks
+InitKeyring # Initialize the pacman keyring
+Partition # Partition and mount target disks
+NoticeCustomize # Explain that the next choices are mandatory but interchangeable
+InstallBase # Install base system
+ConfigChroot # Generate fstab and configure system in-chroot
+NoticeOptional # Explain that the next choices are optional
+InstallGrub # Install grub
+InstallWmDe # Install GUI packages and configure services in-chroot
+CreateUser # Create unpriviledged login user in-chroot
+Cleanup # Remove helper scripts from the chroot and un-mount target disks
exit
diff --git a/configs/profile/root-image/root/.session-init.sh b/configs/profile/root-image/root/.session-init.sh
index b632119..2b82fc0 100755
--- a/configs/profile/root-image/root/.session-init.sh
+++ b/configs/profile/root-image/root/.session-init.sh
@@ -1,10 +1,10 @@
#!/bin/bash
-source /root/.common.sh.inc
+source /root/.wizard-common.sh.inc
readonly TIMEOUT=30
readonly H=15
-readonly W=40
+readonly W=42
readonly N_ITEMS=10
readonly LANG_TITLE="System language selection"
@@ -15,7 +15,6 @@ 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 -a LANGUAGES=( $(cat /root/.install/LANGUAGES) )
readonly -a ESPERANTO_LANG_PACKS=( 'iceweasel-l10n-es-eo' )
@@ -35,10 +34,10 @@ AllInterfaces=( 'live' "Live desktop" \
'calamares' "GUI installer" \
'wizard' "TUI installer" \
'cli' "Command line" )
-case "$DESKTOP_SESSION" in
- 'lxde') readonly INTERFACES=( ${AllInterfaces[@]} ) ;;
- 'mini') readonly INTERFACES=( ${AllInterfaces[@]:2} ) ;;
- * ) readonly INTERFACES=( ${AllInterfaces[@]:4} ) ;;
+case "$DESKTOP_SESSION" in # per .bash_profile
+ 'lxde') readonly INTERFACES=( "${AllInterfaces[@]}" ) ; readonly INTERFACE_DEFAULT='live' ;;
+ 'mini') readonly INTERFACES=( "${AllInterfaces[@]:2}" ) ; readonly INTERFACE_DEFAULT='calamares' ;;
+ * ) readonly INTERFACES=( "${AllInterfaces[@]:4}" ) ; readonly INTERFACE_DEFAULT='cli' ;;
esac
@@ -47,10 +46,10 @@ Prompt() # (title prompt default_option options*)
declare -l title=$1
declare -l prompt=$2
declare -l default_option=$3
- declare -l options="${@:4}"
+ 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
+ dialog --backtitle "$title" --stdout --no-tags --no-cancel --timeout 30 \
+ --default-item $default_option --menu "$prompt" $H $W $N_ITEMS "${options[@]}"
}
@@ -64,21 +63,24 @@ then Language=$(Prompt "$LANG_TITLE" "$LANG_PROMPT" $LANG_DEFAULT "${LANGUAGES[@
logger "$0: selected language='${Language}'"
# inject language packs into the install wizard package set
- LanguageAbbrev=${Language/_*/}
- case ${LanguageAbbrev} in
- 'eo') echo "${ESPERANTO_LANG_PACKS[@]}" >> /root/.install/packages ;;
- 'fr') echo "${FRENCH_LANG_PACKS[@]}" >> /root/.install/packages ;;
- 'gl') echo "${GALEGO_LANG_PACKS[@]}" >> /root/.install/packages ;;
- 'it') echo "${ITALIAN_LANG_PACKS[@]}" >> /root/.install/packages ;;
- 'pl') echo "${POLISH_LANG_PACKS[@]}" >> /root/.install/packages ;;
- 'pt') echo "${PORTUGUESE_LANG_PACKS[@]}" >> /root/.install/packages ;;
- 'es') echo "${SPANISH_LANG_PACKS[@]}" >> /root/.install/packages ;;
+ Lang=${Language/_*/}
+ case ${Lang} in
+ 'eo') echo "${ESPERANTO_LANG_PACKS[@]}" >> /root/.install/packages ;;
+ 'fr') echo "${FRENCH_LANG_PACKS[@]}" >> /root/.install/packages ;;
+ 'gl') echo "${GALEGO_LANG_PACKS[@]}" >> /root/.install/packages ;;
+ 'it') echo "${ITALIAN_LANG_PACKS[@]}" >> /root/.install/packages ;;
+ 'pl') echo "${POLISH_LANG_PACKS[@]}" >> /root/.install/packages ;;
+ 'pt') echo "${PORTUGUESE_LANG_PACKS[@]}" >> /root/.install/packages ;;
+ 'es') echo "${SPANISH_LANG_PACKS[@]}" >> /root/.install/packages ;;
esac
# prepare locale
echo "LANG=${Language}" > /etc/locale.conf
- SetStateVar 'LANG' ${Language}
- SetStateVar 'LANG_KEY' ${LanguageAbbrev}
+ SetStateVar 'LANG' ${Language}
+
+ # prepare installer translations
+ TrKey=$( [[ "${TRANSLATIONS}" =~ " ${Lang} " ]] && echo ${Lang} || echo 'en' )
+ SetStateVar 'TR_KEY' ${TrKey}
fi
@@ -89,8 +91,9 @@ if [ "${Keymap}" == '_UNDEFINED_' ]
then Keymap=$(Prompt "$KEYMAP_TITLE" "$KEYMAP_PROMPT" $KEYMAP_DEFAULT "${KEYMAPS[@]}")
[ "${Keymap}" == "" ] && Keymap=$KEYMAP_DEFAULT
- # set keymap
logger "$0: selected keymap='${Keymap}'"
+
+ # set keymap
setxkbmap ${Keymap} 2> /dev/null
SetStateVar 'XKBMAP' ${Keymap}
fi
@@ -103,7 +106,9 @@ then Interface=$(Prompt "$INTERFACE_TITLE" "$INTERFACE_PROMPT" $INTERFACE_DEFAUL
[ "${Interface}" == "" ] && Interface=$INTERFACE_DEFAULT
logger "$0: selected interface='$Interface'"
- SetStateVar '/IFACE' ${Interface}
+
+ # set installer interface
+ SetStateVar 'IFACE' ${Interface}
fi
clear
diff --git a/configs/profile/root-image/root/.wizard-common.sh.inc b/configs/profile/root-image/root/.wizard-common.sh.inc
new file mode 100644
index 0000000..9e798b0
--- /dev/null
+++ b/configs/profile/root-image/root/.wizard-common.sh.inc
@@ -0,0 +1,262 @@
+readonly STATE_FILE=/root/.session_state
+readonly COMMON_FILE=/root/.wizard-common.sh.inc
+
+
+## state helpers ##
+
+SetStateVar() # (var_name value*)
+{
+ local var_name=$1 ; shift ;
+ local value=$*
+
+ sed -i "/^${var_name}=.*/d" ${STATE_FILE}
+ echo "${var_name}=${value}" >> ${STATE_FILE}
+}
+
+GetStateVar() # (var_name)
+{
+ local var_name=$1
+
+ echo $(grep "${var_name}=" ${STATE_FILE} | cut -d '=' -f 2)
+}
+
+
+## translations for user-facing strings ##
+readonly TRANSLATIONS=" en es gl pt " # pending translations 'eo' 'fr' 'it' 'pl'
+readonly TR_KEY=$( [[ "$(GetStateVar 'TR_KEY')" ]] && echo $(GetStateVar 'LANG_KEY') || echo 'en' )
+declare -A TR=(
+ ## install.sh ##
+
+ [menu-en]="Parabola Installation Wizard"
+ [menu-eo]="Parabola Instala Asistilo"
+ [menu-en]="Instalación de Parabola"
+ [menu-gl]="Instalación de Parabola"
+ [menu-pt]="Instalação do Parabola"
+
+ [hdd-en]="Select Hard Disk:"
+ [hdd-eo]="Selektu Fiksitan Diskon:"
+ [hdd-es]="Selecciona Disco Duro:"
+ [hdd-gl]="Selecciona Disco Duro:"
+ [hdd-pt]="Escolha o Disco:"
+
+ [part-en]="Partitioning method:"
+ [part-eo]="Dispartigan metodon:"
+ [part-es]="Metodo de Particionado:"
+ [part-gl]="Metodo de Particionado:"
+ [part-pt]="Método de Particionamento:"
+
+ [part_auto-en]="Use the entire disk (with 1GB swap)"
+ [part_auto-eo]="Uzu la tutan diskon (kun 1GB permutaĵo)"
+ [part_auto-es]="Usar todo el disco (con 1GB swap)"
+ [part_auto-gl]="Usar todo o disco (con 1GB swap)"
+ [part_auto-pt]="Usar todo o disco (com o 1GB swap)"
+
+ [part_man-en]="Manual partitioning"
+ [part_man-eo]="Mana dispartigo"
+ [part_man-es]="Usar gparted para personalizar"
+ [part_man-gl]="Usar gparted para personalizar"
+ [part_man-pt]="Usar o gparted para personalizar"
+
+ [mount_root-en]="Mount / Partition:"
+ [mount_root-eo]="Muntu / Subdiskon:"
+ [mount_root-es]="Montar particion /:"
+ [mount_root-gl]="Montar particion /:"
+ [mount_root-pt]="Montar a partição /:"
+
+ [mount_other-en]="Mount other partition?"
+ [mount_other-eo]="Muntu alia subdiskon?"
+ [mount_other-es]="¿Montar otra particion?"
+ [mount_other-gl]="¿Montar outra particion?"
+ [mount_other-pt]="Quer montar outra partição?"
+
+ [mount_boot-en]="Mount /boot Partition"
+ [mount_boot-eo]="Muntu /boot Subdiskon"
+ [mount_boot-es]="Montar particion /boot"
+ [mount_boot-gl]="Montar particion /boot"
+ [mount_boot-pt]="Montar a partição /boot"
+
+ [mount_home-en]="Mount /home Partition"
+ [mount_home-eo]="Muntu /home Subdiskon:"
+ [mount_home-es]="Montar particion /home"
+ [mount_home-gl]="Montar particion /home"
+ [mount_home-pt]="Montar a partição /home"
+
+ [notice_customize-en]="The next few steps will allow you to customize your Parabola system. If you are unsure about what to choose, the default selections are suitable for most people; and most of these options can be easily changed at any later time."
+ [notice_customize-eo]="La sekva paŝoj permesos vin, tajlori vian Parabola-an sistemon. Se vi ne sencerta pri kiu elekti, la defaŭlta elektaĵoj estas taŭga por plej homojn; kaj la plejparto de tiuj estas ŝanĝebla facile iam pli malfrue."
+ [notice_customize-es]="Los siguientes pasos le permitirán personalizar su Parabola sistema. Si no está seguro de qué elegir, las selecciones predeterminadas son adecuadas para la mayoría de las personas; y la mayoría de estas opciones se pueden cambiar fácilmente en cualquier momento posterior."
+ [notice_customize-gl]="Os seguintes pasos permitiranche personalizar o seu Parabola sistema. Se non estás seguro de que escoller, as seleccións predeterminadas son adecuadas para a maioría da xente; e a maioría destas opcións pódense cambiar facilmente en calquera momento posterior."
+ [notice_customize-pt]="Os próximos passos permitirão personalizar seu Parabola sistema. Se você não tiver certeza sobre o que escolher, as seleções padrão são adequadas para a maioria das pessoas; e a maioria dessas opções pode ser facilmente alterada a qualquer momento."
+
+ [base-en]="Select a base system:"
+ [base-eo]="Selektu bazan sistemon:"
+ [base-es]="Selecciona la base sistema:"
+ [base-gl]="Selecciona a base sistema:"
+ [base-pt]="Escolha a base sistema:"
+
+ [base_mini-en]="Bare-bones minimal system"
+ [base_mini-eo]="Minimuma sistemon"
+ [base_mini-es]="Sistema mínimo"
+ [base_mini-gl]="Sistema mínimo"
+ [base_mini-pt]="Sistema mínimo"
+
+ [base_posix-en]="Complete POSIX-compliant system"
+ [base_posix-eo]="Plena POSIX-cedaema sistemon"
+ [base_posix-es]="Sistema de cumplimiento completo"
+ [base_posix-gl]="Sistema POSIX completo"
+ [base_posix-pt]="Sistema POSIX-compatível completo"
+
+ [init-en]="Select an init-system:"
+ [init-eo]="Selektu pravaloriza-sistemon:"
+ [init-es]="Selecciona la sistema de inicialización:"
+ [init-gl]="Selecciona a sistema de inicialización:"
+ [init-pt]="Escolha a sistema de inicialização:"
+
+ [init_openrc-en]="OpenRC - (Versatile init-system)"
+ [init_openrc-eo]="OpenRC - (Diversutila pravaloriza-sistemon)"
+ [init_openrc-es]="OpenRC - (Sistema de inicialización versátil)"
+ [init_openrc-gl]="OpenRC - (Versátil sistema de inicialización)"
+ [init_openrc-pt]="OpenRC - (Versátil sistema de inicialização)"
+
+ [init_systemd-en]="SystemD - (Standard init-system)"
+ [init_systemd-eo]="SystemD - (Laŭnorma pravaloriza-sistemon)"
+ [init_systemd-es]="SystemD - (Sistema de inicialización estándar)"
+ [init_systemd-gl]="SystemD - (Sistema de inicialización estándar)"
+ [init_systemd-pt]="SystemD - (Sistema de inicialização padrão)"
+
+ [install-en]="Install from LiveISO or network?"
+ [install-eo]="Instalu el LiveISO aŭ interreto?"
+ [install-es]="¿Instalar desde LiveISO o red?:"
+ [install-gl]="Que instalas desde LiveISO ou redes?:"
+ [install-pt]="Instalar a partir da LiveISO ou rede?:"
+
+ [install_offline-en]="Offline install (fast)"
+ [install_offline-eo]="Eksterreta instaladon (rapida)"
+ [install_offline-es]="Instalación sin conexión (rápida)"
+ [install_offline-gl]="Instalación sen conexión (rápido)"
+ [install_offline-pt]="Instalação offline (rápida)"
+
+ [install_online-en]="Online install (slow - internet required)"
+ [install_online-en]="Enreta instaladon (malrapida - interreto bezonita)"
+ [install_online-es]="Instalación en línea (lenta - requiere internet)"
+ [install_online-gl]="Instalación en liña (lenta - requírese internet)"
+ [install_online-pt]="Instalação online (lenta - é necessária internet)"
+
+ [notice_optional-en]="Parabola is now completely installed and usable. However, this installer has not installed a bootloader. If you plan to maange the bootloader yourself, you can skip the next step. All of the remaining steps are strictly optional; but most people will want to install the GRUB bootloader, at least."
+ [notice_optional-eo]="Parabola estas nun instalita plene kaj uzeble. Kvankam, ĉi tio instalilo ne instalis praŝargilon. Se vi intencas manipuli la praŝargilon vi mem, vi povas preterpasi la sekva paŝo. Ĉuij el la restantaj paŝoj estas strikte laŭvolaj; sed plej homoj estus bezoni instali la GRUB praŝargilon, almenaŭ."
+ [notice_optional-es]="Parabola ahora está completamente instalado y utilizable. Sin embargo, este instalador no ha instalado un gestor de arranque. Si planea gestionar el gestor de arranque usted mismo, puede omitir el siguiente paso. Todos los pasos restantes son estrictamente opcionales; pero la mayoría de las personas querrán instalar el gestor de arranque GRUB, al menos."
+ [notice_optional-gl]="Parabola está agora completamente instalado e utilizable. Non obstante, este instalador non instalou un bootloader. Se planea arranxar o cargador de inicio, pode saltar o seguinte paso. Todos os pasos restantes son estrictamente opcionais; pero a maioría da xente quere instalar o cargador de arranque GRUB, polo menos."
+ [notice_optional-pt]="Parabola agora está completamente instalado e utilizável. No entanto, este instalador não instalou um gerenciador de inicialização. Se você planeja alterar o gerenciador de inicialização, pode pular a próxima etapa. Todas as etapas restantes são estritamente opcionais; mas a maioria das pessoas desejará instalar o gerenciador de inicialização GRUB, pelo menos."
+
+ [grub-en]="Would you like to install GRUB?"
+ [grub-eo]="Ĉu vi volas instali GRUB-on?"
+ [grub-es]="¿Desea instalar GRUB?"
+ [grub-gl]="¿Quere instalar GRUB?"
+ [grub-pt]="Deseja instalar o GRUB?"
+
+ [yes-en]="Yes"
+ [yes-eo]="Jes"
+ [yes-es]="Si"
+ [yes-gl]="Si"
+ [yes-pt]="Sim"
+
+ [no-en]="No"
+ [no-eo]="Ne"
+ [no-es]="No"
+ [no-gl]="Non"
+ [no-pt]="Não"
+
+ [wmde-en]="Select a graphical environment:"
+ [wmde-eo]="Selektu grafikan ĉirkaŭaĵon:"
+ [wmde-es]="Selecciona la Escritorio:"
+ [wmde-gl]="Selecciona a Escritorio:"
+ [wmde-pt]="Escolha a Ambiente Gráfico:"
+
+ [wmde_cli-en]="Command-line only"
+ [wmde_cli-eo]="Komandlinion nur"
+ [wmde_cli-es]="Solo línea de comandos"
+ [wmde_cli-gl]="Só en liña de comandos"
+ [wmde_cli-pt]="Apenas linha de comando"
+
+ [wmde_lxde-en]="LXDE desktop environment"
+ [wmde_lxde-eo]="LXDE labortablan ĉirkaŭaĵon"
+ [wmde_lxde-es]="LXDE entorno de escritorio"
+ [wmde_lxde-gl]="LXDE ambiente de escritorio"
+ [wmde_lxde-pt]="LXDE ambiente gráfico"
+
+ [wmde_mate-en]="Mate desktop environment"
+ [wmde_mate-eo]="Mate labortablan ĉirkaŭaĵon"
+ [wmde_mate-es]="Mate escritorio"
+ [wmde_mate-gl]="Mate escritorio"
+ [wmde_mate-pt]="Mate ambiente gráfico"
+
+ [user-en]="Would you like to create a login user?"
+ [user-eo]="Ĉu vi volas kreias salutan uzanton?"
+ [user-es]="¿Desea crear un usuario de inicio de sesión?"
+ [user-gl]="¿Quere crear un usuario de inicio de sesión?"
+ [user-pt]="Deseja criar um usuário de login?"
+
+
+ ## systemdConfig.sh ##
+
+ [hostname-en]="Enter Hostname:"
+ [hostname-es]="Introduce el nombre del sistema:"
+ [hostname-gl]="Introduce o nome do sistema:"
+ [hostname-pt]="Adicione o nome do sistema:"
+
+ [timezone-en]="Enter your Time Zone\ne.g. America/New_York\ne.g. Europe/Madrid:"
+ [timezone-eo]="Entajpu vian horzonon\ne.g. America/New_York\ne.g. Europe/Madrid:"
+ [timezone-es]="Introduce la Zona Horaria:\nPor ejemplo: America/New_York\nPor ejemplo: Europe/Madrid:"
+ [timezone-gl]="Introduce a Zona Horaria:\nPor ejemplo: America/New_York\nPor ejemplo: Europe/Madrid:"
+ [timezone-pt]="Adicione o Fuso Horário:\nPor exemplo: America/New_York\nexemplo: Europe/Madrid:"
+
+ [keymap-en]="Select Keymap:"
+ [keymap-eo]="Selektu Klavmapon:"
+ [keymap-es]="Selecciona la distribucion del teclado:"
+ [keymap-gl]="Selecciona a distribucion do teclado:"
+ [keymap-pt]="Escolha a distribuição do teclado:"
+
+ [locales-en]="Select Locales:"
+ [locales-eo]="Selektu Lokaĵaron:"
+ [locales-es]="Selecciona las Localizaciones:"
+ [locales-gl]="Selecciona as Localizacions:"
+ [locales-pt]="Escolha as Localizações:"
+
+ [language-en]="Select your language:"
+ [language-eo]="Selektu vian lingvon:"
+ [language-es]="Selecciona tu idioma:"
+ [language-gl]="Selecciona o teu idioma:"
+ [language-pt]="Escolha a sua língua:"
+
+ [root_pass-en]="Enter a password for the 'root' administator:"
+ [root_pass-eo]="Entajpu pasvorton por la 'root' ĉefuzanto:"
+ [root_pass-es]="Inserta la contraseña para el 'root' administrador:"
+ [root_pass-gl]="Insire o contrasinal para o 'root' administrador:"
+ [root_pass-pt]="Insira a senha para o 'root' administrador:"
+
+ [root_pass2-en]="Repeat the password for the 'root' administator:"
+ [root_pass2-eo]="Ripetu pasvorton por la 'root' ĉefuzanto:"
+ [root_pass2-es]="Repite la contraseña para el 'root' administrador:"
+ [root_pass2-gl]="Repite o contrasinal para o 'root' administrador:"
+ [root_pass2-pt]="Repita a senha para o 'root' administrador:"
+
+
+ ## userAccount.sh ##
+
+ [user_login-en]="Enter a username for the login user:"
+ [user_login-eo]="Entajpu uzantonomon por la salutan uzanto:"
+ [user_login-es]="Introduce nombre de usuario:"
+ [user_login-gl]="Introduce un nome de usuario:"
+ [user_login-pt]="Insira o nome do usuário:"
+
+ [user_pass-en]="Enter a password for login user:"
+ [user_pass-eo]="Entajpu pasvorton por la salutan uzanto:"
+ [user_pass-es]="Introduce la contraseñara para el usuario:"
+ [user_pass-gl]="Introduce o contrasinal para o usuario:"
+ [user_pass-pt]="Insira a senha para o usuário:"
+
+ [user_pass2-en]="Repeat the password for login user:"
+ [user_pass2-eo]="Ripetu pasvorton por la salutan uzanto:"
+ [user_pass2-es]="Repite la contraseñara para el usuario:"
+ [user_pass2-gl]="Repite o contrasinal:"
+ [user_pass2-pt]="Repita a senha:"
+)
diff --git a/configs/profile/root-image/root/customize_root_image-constants.inc b/configs/profile/root-image/root/customize_root_image-constants.inc
index 7c0a98e..1e4c6be 100644
--- a/configs/profile/root-image/root/customize_root_image-constants.inc
+++ b/configs/profile/root-image/root/customize_root_image-constants.inc
@@ -71,10 +71,9 @@ then readonly INSTALL_TYPE='Complete' ; readonly NETWORK_MOTD_MSG=${COMPLETE_M
else readonly INSTALL_TYPE='NetInstall' ; readonly NETWORK_MOTD_MSG=${NETINSTALL_MSG} ;
fi
-readonly ROOT_SKEL_FILES="/etc/skel/.bash_logout \
- /etc/skel/.bash_profile \
- /etc/skel/install-openrc-lxde.sh \
- /etc/skel/install-systemd-mate.sh"
+readonly ROOT_SKEL_FILES="/etc/skel/.bash_logout \
+ /etc/skel/.bash_profile \
+ /etc/skel/install.sh"
readonly MINI_SKEL_FILES="/etc/skel/.xinitrc"
readonly LIVE_USER=parabola
diff --git a/configs/profile/root-image/root/customize_root_image.sh b/configs/profile/root-image/root/customize_root_image.sh
index 7dc98ef..4e5bb07 100755
--- a/configs/profile/root-image/root/customize_root_image.sh
+++ b/configs/profile/root-image/root/customize_root_image.sh
@@ -116,7 +116,7 @@ END
;;
* )
- echo "invalid \$ISO_WMDE for _DESKTOP_SESSION_ '${ISO_WMDE}'"
+ echo "unknown \$ISO_WMDE for _DESKTOP_SESSION_ '${ISO_WMDE}'"
exit 1
;;
esac