summaryrefslogtreecommitdiff
path: root/configs/profile/root-image
diff options
context:
space:
mode:
authorbill-auger <mr.j.spam.me@gmail.com>2020-02-16 00:01:42 -0500
committerbill-auger <mr.j.spam.me@gmail.com>2020-03-27 19:32:36 -0400
commit859b25f8af367b2e4e3dabc236c099ca85fe77ac (patch)
tree7d8e60501593ae0fda093fdcbd74bc63035077c1 /configs/profile/root-image
parent5c1cdb27e53cc929a7351ea846927c2252822f29 (diff)
housekeeping
Diffstat (limited to 'configs/profile/root-image')
-rwxr-xr-xconfigs/profile/root-image/root/.language.sh37
-rw-r--r--configs/profile/root-image/root/customize_root_image-constants.inc25
-rwxr-xr-xconfigs/profile/root-image/root/customize_root_image.sh93
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