Merge pull request #30016 from alprs/fix-gen_locale_normalize

Properly normalize locales in locale.gen_locale
This commit is contained in:
Mike Place 2015-12-28 08:33:48 -07:00
commit e7fe24dc64

View file

@ -238,22 +238,19 @@ def gen_locale(locale, **kwargs):
on_ubuntu = __grains__.get('os') == 'Ubuntu'
on_gentoo = __grains__.get('os_family') == 'Gentoo'
on_suse = __grains__.get('os_family') == 'Suse'
locale_info = salt.utils.locales.split_locale(locale)
# if the charmap has not been supplied, normalize by appening it
if not locale_info['charmap']:
locale_info['charmap'] = locale_info['codeset']
locale = salt.utils.locales.join_locale(locale_info)
if on_debian or on_gentoo: # file-based search
search = '/usr/share/i18n/SUPPORTED'
def search_locale():
return __salt__['file.search'](search,
'^{0}$'.format(locale),
flags=re.MULTILINE)
valid = search_locale()
if not valid and not locale_info['charmap']:
# charmap was not supplied, so try copying the codeset
locale_info['charmap'] = locale_info['codeset']
locale = salt.utils.locales.join_locale(locale_info)
valid = search_locale()
valid = __salt__['file.search'](search,
'^{0}$'.format(locale),
flags=re.MULTILINE)
else: # directory-based search
if on_suse:
search = '/usr/share/locale'
@ -300,7 +297,9 @@ def gen_locale(locale, **kwargs):
'-i', "{0}_{1}".format(locale_info['language'],
locale_info['territory']),
'-f', locale_info['codeset'],
locale]
'{0}_{1}.{2}'.format(locale_info['language'],
locale_info['territory'],
locale_info['codeset'])]
cmd.append(kwargs.get('verbose', False) and '--verbose' or '--quiet')
else:
raise CommandExecutionError(