Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
SUSE:SLE-15:Update
systemd.15347
scripts-systemd-migrate-sysconfig-i18n.sh
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File scripts-systemd-migrate-sysconfig-i18n.sh of Package systemd.15347
#! /bin/bash # FIXME: only do this once # /etc/sysconfig/console | /etc/vconsole.conf # -------------------------+--------------------- # CONSOLE_FONT | FONT # CONSOLE_SCREENMAP | FONT_MAP # CONSOLE_UNICODEMAP | FONT_UNIMAP migrate_locale () { local migrated="" if ! test -f /etc/sysconfig/console; then return fi source /etc/sysconfig/console || return if test -f /etc/vconsole.conf; then source /etc/vconsole.conf || return fi if test -n "$CONSOLE_FONT" && test -z "$FONT"; then echo "FONT=$CONSOLE_FONT" >>/etc/vconsole.conf migrated+="CONSOLE_FONT " fi if test -n "$CONSOLE_SCREENMAP" && test -z "$FONT_MAP"; then echo "FONT_MAP=$CONSOLE_SCREENMAP" >>/etc/vconsole.conf migrated+="CONSOLE_SCREENMAP " fi if test -n "$CONSOLE_UNICODEMAP" && test -z "$FONT_UNIMAP"; then echo "FONT_UNIMAP=$CONSOLE_UNICODEMAP" >>/etc/vconsole.conf migrated+="CONSOLE_UNICODEMAP " fi if test -n "$migrated"; then echo >&2 "The following variables from /etc/sysconfig/console have been migrated" echo >&2 "into /etc/vconsole.conf:" echo >&2 for v in $migrated; do echo " - $v=${!v}"; done echo >&2 echo >&2 "Please edit /etc/vconsole.conf if you need to tune these settings" echo >&2 "as /etc/sysconfig/console won't be considered anymore." echo >&2 fi } # /etc/sysconfig/keyboard | /etc/vconsole.conf # -------------------------+--------------------- # KEYTABLE | KEYMAP migrate_keyboard () { local migrated="" if ! test -f /etc/sysconfig/keyboard; then return fi source /etc/sysconfig/keyboard || return if test -f /etc/vconsole.conf; then source /etc/vconsole.conf || return fi if test -n "$KEYTABLE" && test -z "$KEYMAP"; then echo "KEYMAP=$KEYTABLE" >>/etc/vconsole.conf migrated+="KEYTABLE " fi if test -n "$migrated"; then echo >&2 "The following variables from /etc/sysconfig/keyboard have been migrated" echo >&2 "into /etc/vconsole.conf:" echo >&2 for v in $migrated; do echo " - $v=${!v}"; done echo >&2 echo >&2 "Please use localectl(1) if you need to tune these settings since" echo >&2 "/etc/sysconfig/keyboard won't be considered anymore." echo >&2 fi } # According to # https://www.suse.com/documentation/sles-12/book_sle_admin/data/sec_suse_l10n.html, # variables in /etc/sysconfig/language are supposed to be passed to # the users' shell *only*. However it seems that there has been some # confusion and they ended up configuring the system-wide locale as # well. The logic followed by systemd was implemented in commit # 01c4b6f4f0d951d17f6873f68156ecd7763429c6, which was reverted. The # code below follows the same logic to migrate content of # /etc/sysconfig/language into locale.conf. migrate_language () { local lang= local migrated=false if ! test -f /etc/sysconfig/language; then return fi source /etc/sysconfig/language || return lang=$(grep ^LANG= /etc/locale.conf 2>/dev/null) lang=${lang#LANG=} case "$ROOT_USES_LANG" in yes) if test -z "$lang" && test -n "$RC_LANG"; then echo "LANG=$RC_LANG" >>/etc/locale.conf migrated=true fi ;; ctype) if ! grep -q ^LC_CTYPE= /etc/locale.conf 2>/dev/null; then : ${lc_ctype:="$lang"} : ${lc_ctype:="$RC_LC_CTYPE"} : ${lc_ctype:="$RC_LANG"} if test -n "$lc_ctype"; then echo "LC_CTYPE=$lc_ctype" >>/etc/locale.conf migrated=true fi fi ;; esac if $migrated; then echo >&2 "The content of /etc/sysconfig/language has been migrated into" echo >&2 "/etc/locale.conf. The former file is now only used for setting" echo >&2 "the locale used by user's shells. The system-wide locale is" echo >&2 "only read from /etc/locale.conf since now." echo >&2 echo >&2 "Please only use localectl(1) or YaST if you need to change the" echo >&2 "settings of the *system-wide* locale from now." fi } migrate_locale; rv1=$? migrate_keyboard; rv2=$? migrate_language; rv3=$? test $((rv1 + rv2 + rv3)) -eq 0
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor