From 591854ccca35c5962c9e4bef26982b4011d8d75a5afc20ccf2a0350437910f82 Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Tue, 12 Dec 2017 11:57:08 +0000 Subject: [PATCH] Accepting request 556439 from home:favogt:branches:system:install:head - Bump version to 2.0 - Do not change sysconfig values anymore, use localectl instead (boo#1072237) - Also adjust /etc/localtime based on the TIMEZONE - Change the internal langset data format to make sourcing possible OBS-URL: https://build.opensuse.org/request/show/556439 OBS-URL: https://build.opensuse.org/package/show/system:install:head/live-langset-data?expand=0&rev=5 --- getcountrydata.rb | 24 ++++++++++++------------ langset.sh | 38 +++++++++++++++----------------------- live-langset-data.changes | 9 +++++++++ live-langset-data.spec | 2 +- 4 files changed, 37 insertions(+), 36 deletions(-) diff --git a/getcountrydata.rb b/getcountrydata.rb index e26854c..9473d83 100644 --- a/getcountrydata.rb +++ b/getcountrydata.rb @@ -33,21 +33,21 @@ module Yast magic = consolefont[3] || "" timezone = timezonemap[lang] || "" contents = - "RC_LANG: #{fqlanguage}\n" + - "CONSOLE_FONT: #{font}\n" + - "CONSOLE_SCREENMAP: #{screenMap}\n" + - "CONSOLE_UNICODEMAP: #{unicodeMap}\n" + - "CONSOLE_MAGIC: #{magic}\n" + - "KEYTABLE: #{Keyboard.keymap}\n" + - "YAST_KEYBOARD: #{yast_kbd}\n" + - "COMPOSETABLE: #{Keyboard.compose_table}\n" + - "TIMEZONE: #{timezone}\n" + - "CONSOLE_ENCODING: #{WFM.GetEncoding}" + "RC_LANG='#{fqlanguage}'\n" + + "CONSOLE_FONT='#{font}'\n" + + "CONSOLE_SCREENMAP='#{screenMap}'\n" + + "CONSOLE_UNICODEMAP='#{unicodeMap}'\n" + + "CONSOLE_MAGIC='#{magic}'\n" + + "KEYTABLE='#{Keyboard.keymap}'\n" + + "YAST_KEYBOARD='#{yast_kbd}'\n" + + "COMPOSETABLE='#{Keyboard.compose_table}'\n" + + "TIMEZONE='#{timezone}'\n" + + "CONSOLE_ENCODING='#{WFM.GetEncoding}'" - contents << "\nRC_LC_MESSAGES: zh_TW.UTF-8" if lang == "zh_HK" + contents << "\nRC_LC_MESSAGES='zh_TW.UTF-8'" if lang == "zh_HK" x11data = Keyboard.GetX11KeyData(Keyboard.keymap) Builtins.foreach(x11data) do |key, val| - contents << "\n#{key}: #{val}" + contents << "\n#{key}='#{val}'" end contents << "\n" SCR.Write(path(".target.string"), dir + "/" + fqlanguage, contents) diff --git a/langset.sh b/langset.sh index 6fd8e70..16680be 100644 --- a/langset.sh +++ b/langset.sh @@ -18,32 +18,24 @@ if ! test -f "$file"; then file="/usr/share/langset/$Language" fi -layout= -model= -variant= -options= -sed -e 's,: *,:,' "$file" | while read line; do - key=`echo $line | cut -d: -f1` - value=`echo $line | cut -d: -f2-` +# Read all values of the langset data files +. "$file" - if [ "$key" = "XkbLayout" ]; then - layout="$value" - elif [ "$key" = "XkbModel" ]; then - model="$value" - elif [ "$key" = "XkbVariant" ]; then - variant="$value" - elif [ "$key" = "XkbOptions" ]; then - options="$value" - fi +# Apply all options +[ -n "$RC_LC_MESSAGES" ] || RC_LC_MESSAGES=$RC_LANG +[ -z "$RC_LANG" ] || localectl set-locale LANG=$RC_LANG LC_MESSAGES=$RC_LC_MESSAGES - sed -i -e "s#$key=\".*#$key=\"$value\"#" /etc/sysconfig/language - sed -i -e "s#$key=\".*#$key=\"$value\"#" /etc/sysconfig/keyboard - sed -i -e "s#$key=\".*#$key=\"$value\"#" /etc/sysconfig/console +[ -z "$CONSOLE_FONT" ] || echo "FONT=$CONSOLE_FONT" >> /etc/vconsole.conf +[ -z "$CONSOLE_SCREENMAP" ] || echo "FONT_MAP=$CONSOLE_SCREENMAP" >> /etc/vconsole.conf +[ -z "$CONSOLE_UNICODEMAP" ] || echo "FONT_UNIMAP=$CONSOLE_UNICODEMAP" >> /etc/vconsole.conf - if [ -n "$layout" ] && [ -n "$model" ] && [ -n "$variant" ] && [ -n "$options" ]; then - localectl set-x11-keymap "$layout" "$model" "$variant" "$options" - fi -done +[ -z "$KEYTABLE" ] || localectl set-keymap $KEYTABLE + +[ -n "$TIMEZONE" ] && [ -f "/usr/share/zoneinfo/$TIMEZONE" ] && rm -f /etc/localtime && ln -s /usr/share/zonezinfo/$TIMEZONE /etc/localtime + +if [ -n "$XkbLayout" ] && [ -n "$XkbModel" ] && [ -n "$XkbVariant" ] && [ -n "$XkbOptions" ]; then + localectl set-x11-keymap "$XkbLayout" "$XkbModel" "$XkbVariant" "$XkbOptions" +fi echo "$Language""_$Country" > /var/lib/zypp/RequestedLocales diff --git a/live-langset-data.changes b/live-langset-data.changes index d79461d..efe588d 100644 --- a/live-langset-data.changes +++ b/live-langset-data.changes @@ -1,3 +1,12 @@ +------------------------------------------------------------------- +Tue Dec 12 09:29:39 UTC 2017 - fvogt@suse.com + +- Bump version to 2.0 +- Do not change sysconfig values anymore, use localectl instead + (boo#1072237) +- Also adjust /etc/localtime based on the TIMEZONE +- Change the internal langset data format to make sourcing possible + ------------------------------------------------------------------- Tue Nov 28 06:22:44 UTC 2017 - fvogt@suse.com diff --git a/live-langset-data.spec b/live-langset-data.spec index 2229243..fc35b18 100644 --- a/live-langset-data.spec +++ b/live-langset-data.spec @@ -17,7 +17,7 @@ Name: live-langset-data -Version: 1.0 +Version: 2.0 Release: 0 Summary: Scripts and data to allow locale switching in live media License: GPL-2.0