forked from ungleich-public/cdist
[type/__locale_system] Add support for SuSE
This commit is contained in:
parent
630d987d5f
commit
0ae0935afa
1 changed files with 22 additions and 2 deletions
|
@ -24,6 +24,7 @@
|
|||
# Configure system-wide locale by modifying i18n file.
|
||||
#
|
||||
|
||||
key=$__object_id
|
||||
onchange_cmd= # none, by default
|
||||
quote_value=false
|
||||
|
||||
|
@ -97,6 +98,25 @@ in
|
|||
;;
|
||||
esac
|
||||
;;
|
||||
suse)
|
||||
os_version=$(cat "${__global}/explorer/os_version")
|
||||
os_major=$(expr "${os_version}" : '\([0-9]\{1,\}\)')
|
||||
|
||||
# https://documentation.suse.com/sles/15-SP2/html/SLES-all/cha-suse.html#sec-suse-l10n
|
||||
if expr "${os_major}" '>=' 15 \& "${os_major}" != 42
|
||||
then
|
||||
# It seems that starting with SuSE 15 the systemd /etc/locale.conf
|
||||
# is the preferred way to set locales, although
|
||||
# /etc/sysconfig/language is still available.
|
||||
# Older documentation doesn't mention /etc/locale.conf, even though
|
||||
# is it created when localectl is used.
|
||||
locale_conf="/etc/locale.conf"
|
||||
else
|
||||
locale_conf="/etc/sysconfig/language"
|
||||
quote_value=true
|
||||
key="RC_${__object_id}"
|
||||
fi
|
||||
;;
|
||||
voidlinux)
|
||||
locale_conf="/etc/locale.conf"
|
||||
;;
|
||||
|
@ -110,9 +130,9 @@ esac
|
|||
__file "${locale_conf}" --state exists --owner root --group root --mode 0644
|
||||
|
||||
require="__file/${locale_conf}" \
|
||||
__key_value "${locale_conf}:${__object_id}" \
|
||||
__key_value "${locale_conf}:${key}" \
|
||||
--file "${locale_conf}" \
|
||||
--key "${__object_id}" \
|
||||
--key "${key}" \
|
||||
--delimiter '=' --exact_delimiter \
|
||||
--state "$(cat "${__object}/parameter/state")" \
|
||||
--value "$(catval "${__object}/parameter/value")" \
|
||||
|
|
Loading…
Reference in a new issue