diff options
author | bill-auger <mr.j.spam.me@gmail.com> | 2020-02-16 00:01:42 -0500 |
---|---|---|
committer | bill-auger <mr.j.spam.me@gmail.com> | 2020-03-27 19:32:36 -0400 |
commit | 859b25f8af367b2e4e3dabc236c099ca85fe77ac (patch) | |
tree | 7d8e60501593ae0fda093fdcbd74bc63035077c1 /configs/profile/root-image | |
parent | 5c1cdb27e53cc929a7351ea846927c2252822f29 (diff) |
housekeeping
Diffstat (limited to 'configs/profile/root-image')
3 files changed, 82 insertions, 73 deletions
diff --git a/configs/profile/root-image/root/.language.sh b/configs/profile/root-image/root/.language.sh index 53f69ee..f3f6950 100755 --- a/configs/profile/root-image/root/.language.sh +++ b/configs/profile/root-image/root/.language.sh @@ -4,20 +4,22 @@ readonly TIMEOUT=30 readonly H=15 readonly W=40 readonly N_ITEMS=10 -readonly DEFAULT_LANG='en_US.UTF-8' + readonly LANG_TITLE="System language selection" readonly LANG_PROMPT="Choose your language:" -readonly DEFAULT_KEYMAP='us' +readonly LANG_DEFAULT='en_US.UTF-8' readonly KEYMAP_TITLE="System keymap selection" readonly KEYMAP_PROMPT="Choose your keymap:" -readonly -a LANGUAGES=( 'en_US.UTF-8' "English" \ - 'eo' "Esperanto" \ - 'es_ES.UTF-8' "Spanish" \ - 'fr_FR.UTF-8' "French" \ - 'gl_ES.UTF-8' "Galego" \ - 'it_IT.UTF-8' "Italian" \ - 'pl_PL.UTF-8' "Polish" \ - 'pt_BR.UTF-8' "Brazilian-Portuguese" ) +readonly KEYMAP_DEFAULT='us' + +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' @@ -28,6 +30,7 @@ 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" \ @@ -142,12 +145,12 @@ Prompt() # (title , prompt , default_option , options) } -### prompt for language if not already selected ### +## 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" $DEFAULT_LANG "${LANGUAGES[@]}") - [ "${language}" == "" ] && language=$DEFAULT_LANG +then language=$(Prompt "$LANG_TITLE" "$LANG_PROMPT" $LANG_DEFAULT "${LANGUAGES[@]}") + [ "${language}" == "" ] && language=$LANG_DEFAULT logger "$0: selected language='$language'" # prepare locale @@ -164,12 +167,12 @@ then language=$(Prompt "$LANG_TITLE" "$LANG_PROMPT" $DEFAULT_LANG "${LANGUAGES[@ for installer_dir in ${INSTALLER_DIRS[@]} do case ${language} in 'eo') echo "${ESPERANTO_LANG_PACKS[@]}" >> ${installer_dir}/packages ;; - 'es') echo "${SPANISH_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 @@ -178,12 +181,12 @@ then language=$(Prompt "$LANG_TITLE" "$LANG_PROMPT" $DEFAULT_LANG "${LANGUAGES[@ fi -### prompt for X11 keymap if not already selected ### +## 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" $DEFAULT_KEYMAP "${KEYMAPS[@]}") - [ "${keymap}" == "" ] && keymap=$DEFAULT_KEYMAP +then keymap=$(Prompt "$KEYMAP_TITLE" "$KEYMAP_PROMPT" $KEYMAP_DEFAULT "${KEYMAPS[@]}") + [ "${keymap}" == "" ] && keymap=$KEYMAP_DEFAULT logger "$0: selected keymap='$keymap'" # set keymap 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 a3c992e..69d60a7 100644 --- a/configs/profile/root-image/root/customize_root_image-constants.inc +++ b/configs/profile/root-image/root/customize_root_image-constants.inc @@ -1,7 +1,8 @@ # environment vars from build.sh: # ISO_TITLE # ISO_INIT -# ISO_GUI +# ISO_WMDE +# ISO_ARCH # ENABLE_OFFLINE_INSTALL # ENABLE_TTS_BRLTTY @@ -50,10 +51,10 @@ readonly SYSTEMD_SERVICES_ACC="bluetooth.service \ livecd-alsa-unmuter.service " readonly SYSTEMD_SERVICES_GUI="NetworkManager.service" readonly OPENRC_SERVICES="${OPENRC_SERVICES_ALL} \ - $([[ "${ISO_GUI}" != 'cli' ]] && echo " ${OPENRC_SERVICES_GUI}")" -readonly SYSTEMD_SERVICES="${SYSTEMD_SERVICES_ALL} \ - $([[ "${ISO_GUI}" != 'cli' ]] && echo " ${SYSTEMD_SERVICES_GUI}") \ - $([[ "${ENABLE_TTS_BRLTTY}" == 'yes' ]] && echo " ${SYSTEMD_SERVICES_ACC}")" + $([[ "${ISO_WMDE}" != 'cli' ]] && echo " ${OPENRC_SERVICES_GUI}")" +readonly SYSTEMD_SERVICES="${SYSTEMD_SERVICES_ALL} \ + $([[ "${ISO_WMDE}" != 'cli' ]] && echo " ${SYSTEMD_SERVICES_GUI}") \ + $([[ "${ENABLE_TTS_BRLTTY}" == 'yes' ]] && echo " ${SYSTEMD_SERVICES_ACC}") " ## system defaults and root user ## @@ -81,14 +82,18 @@ readonly OPENRC_USER_GROUPS="disk,sys" [[ "${ISO_INIT}" == 'openrc' ]] && readonly LIVE_USER_GROUPS="${DEFAULT_USER_GROUPS},${OPENRC_USER_GROUPS}" || readonly LIVE_USER_GROUPS="${DEFAULT_USER_GROUPS}" -readonly TITLE_REGEX="^(.+) - (.+) (.+)$" +readonly TITLE_REGEX="^(.+) - (.+ Edition) (.+)$" readonly TITLE_ERROR_MSG="malformed ISO title:\n\t'${ISO_TITLE}'" ! [[ "${ISO_TITLE}" =~ ${TITLE_REGEX} ]] && echo -e "${TITLE_ERROR_MSG}" && exit 1 -readonly OS_PRETTY_NAME="${BASH_REMATCH[ 1]}" -readonly OS_VERSION="${BASH_REMATCH[ 3]}" +readonly PRETTY_NAME="${BASH_REMATCH[ 1]}" +readonly EDITION="${BASH_REMATCH[ 2]}" +readonly VERSION=${BASH_REMATCH[ 3]} +readonly RELEASE_ID=${ISO_ARCH}-${ISO_INIT}-${ISO_WMDE} +readonly OS_PRETTY_NAME="${PRETTY_NAME}" +readonly OS_VERSION=${VERSION} readonly OS_VERSION_ID="$(tr '.' '-' <<<${OS_VERSION})" -readonly OS_VARIANT="${BASH_REMATCH[ 2]} - (${INSTALL_TYPE})" -readonly OS_VARIANT_ID="${ISO_INIT}-${ISO_GUI}-${INSTALL_TYPE,,}" +readonly OS_VARIANT="${ISO_ARCH} ${EDITION} - (${INSTALL_TYPE})" +readonly OS_VARIANT_ID=${RELEASE_ID} LOG_CONFIG() { printf "\033[01;34mconfiguring: %s\033[00m\n" "$(echo -e $*)" ; } diff --git a/configs/profile/root-image/root/customize_root_image.sh b/configs/profile/root-image/root/customize_root_image.sh index f82fe5f..92e4617 100755 --- a/configs/profile/root-image/root/customize_root_image.sh +++ b/configs/profile/root-image/root/customize_root_image.sh @@ -24,10 +24,6 @@ LOG_CONFIG "pacman" [[ "${ISO_INIT}" == 'openrc' ]] && sed -i "$NONSYSTEMD_REGEX" /etc/pacman-online.conf [[ "${INSTALL_TYPE}" == 'Complete' ]] && cp /etc/pacman-offline.conf /etc/pacman.conf || \ cp /etc/pacman-online.conf /etc/pacman.conf -# FIXME: https://labs.parabola.nu/issues/2576 -# this LOC can be removed eventually after the new 'base' meta-package is stabilized -pacman -R $(pacman -Qq | grep ^systemd-) - LOG_CONFIG "services" @@ -70,45 +66,50 @@ sed -i "s|_EDITION_TITLE_|${ISO_TITLE}|" /etc/motd sed -i "s|_NETWORK_MOTD_MSG_|${NETWORK_MOTD_MSG}|" /etc/motd sed -i "s|_ENABLE_TTS_BRLTTY_|${ENABLE_TTS_BRLTTY}|" /etc/skel/.bash_profile -if [[ "${ISO_GUI}" == 'cli' ]] -then # configure CLI login session - cp ${ROOT_SKEL_FILES} /root/ - sed -i "s|_DESKTOP_SESSION_||" /root/.bash_profile - -else # configure GUI login session - - # configure live user - [[ -n "$(id ${LIVE_USER} 2> /dev/null)" ]] && userdel -r ${LIVE_USER} 2> /dev/null - useradd -m -p "" -g users -G "${LIVE_USER_GROUPS}" -s ${DEFAULT_SHELL} ${LIVE_USER} - - # configure auto-login - if [[ "${ISO_INIT}" == 'openrc' ]] - then sed -i "s|--autologin root|--autologin ${LIVE_USER}|" /etc/conf.d/agetty.tty1 - - elif [[ "${ISO_INIT}" == 'systemd' ]] - then sed -i "s|--autologin root|--autologin ${LIVE_USER}|" /etc/systemd/system/getty@tty1.service.d/autologin.conf - fi - - # configure welcome news alert - sed -i "s|_EDITION_TITLE_|${OS_PRETTY_NAME}| ; \ - s|,Don't show this again:0|| ; \ - s|620x460|620x520| " /usr/bin/autostart.sh - - # configure desktop environment - sed -i "s|/issue-tracker/|/isos/|" /home/${LIVE_USER}/Desktop/bug-tracker.desktop - if [[ "${ISO_GUI}" == 'lxde' ]] - then rm -f /etc/xdg/autostart/octopi-notifier.desktop 2> /dev/null # FIXME: issue #1850 - for desktop_file in parabola-installer.desktop parabola-irc.desktop bug-tracker.desktop - do sleep 2 ; touch /home/${LIVE_USER}/Desktop/${desktop_file} ; # sort - done - sed -i "s|_DESKTOP_SESSION_|LXDE|" /home/${LIVE_USER}/.bash_profile - sed -i "s|_DESKTOP_SESSION_|LXDE|" /home/${LIVE_USER}/.dmrc - - elif [[ "${ISO_GUI}" == 'mate' ]] - then sed -i "s|_DESKTOP_SESSION_|mate|" /home/${LIVE_USER}/.bash_profile - sed -i "s|_DESKTOP_SESSION_|mate|" /home/${LIVE_USER}/.dmrc - - else echo "invalid \$ISO_GUI for _DESKTOP_SESSION_ '${ISO_GUI}'" - exit 1 - fi -fi +case "${ISO_WMDE}" in +'cli' ) # configure CLI login session + cp ${ROOT_SKEL_FILES} /root/ + sed -i "s|_DESKTOP_SESSION_||" /root/.bash_profile + ;; + +* ) # configure GUI login session + + # configure live user + [[ -n "$(id ${LIVE_USER} 2> /dev/null)" ]] && userdel -r ${LIVE_USER} 2> /dev/null + useradd -m -p "" -g users -G "${LIVE_USER_GROUPS}" -s ${DEFAULT_SHELL} ${LIVE_USER} + + # configure auto-login + case "${ISO_INIT}" in + 'openrc' ) sed -i "s|--autologin root|--autologin ${LIVE_USER}|" /etc/conf.d/agetty.tty1 ;; + 'systemd' ) sed -i "s|--autologin root|--autologin ${LIVE_USER}|" /etc/systemd/system/getty@tty1.service.d/autologin.conf ;; + esac + + # configure desktop environment + sed -i "s|/issue-tracker/|/isos/|" /home/${LIVE_USER}/Desktop/bug-tracker.desktop + case "${ISO_WMDE}" in + 'lxde' ) + rm -f /etc/xdg/autostart/octopi-notifier.desktop 2> /dev/null # FIXME: issue #1850 + for desktop_file in parabola-installer.desktop parabola-irc.desktop bug-tracker.desktop + do sleep 2 ; touch /home/${LIVE_USER}/Desktop/${desktop_file} ; # sort + done + sed -i "s|_DESKTOP_SESSION_|LXDE|" /home/${LIVE_USER}/.bash_profile + sed -i "s|_DESKTOP_SESSION_|LXDE|" /home/${LIVE_USER}/.dmrc + ;; + + 'mate' ) + sed -i "s|_DESKTOP_SESSION_|mate|" /home/${LIVE_USER}/.bash_profile + sed -i "s|_DESKTOP_SESSION_|mate|" /home/${LIVE_USER}/.dmrc + ;; + + * ) + echo "invalid \$ISO_WMDE for _DESKTOP_SESSION_ '${ISO_WMDE}'" + exit 1 + ;; + esac + + # configure welcome news alert + sed -i "s|_EDITION_TITLE_|${OS_PRETTY_NAME}| ; \ + s|,Don't show this again:0|| ; \ + s|620x460|620x520| " /usr/bin/autostart.sh + ;; +esac |