Skip to main content

Deprecation: Deprecation of lc_all from locale resource (CHEF-27)

[edit on GitHub]

Setting the LC_ALL variable is NOT recommended. As a system-wide setting, LANG should provide the desired behavior. LC_ALL is intended to be used for temporarily troubleshooting issues rather than an everyday system setting. Changing LC_ALL can break Chef’s parsing of command output in unexpected ways. Use one of the more specific LC_ properties as needed. This deprecation warning was added in Chef Infra Client 15.0. Support for property lc_all will be removed for Chef Infra Client 16.0.

The Cookstyle cop ChefDeprecations/LocaleDeprecatedLcAllProperty has been introduced to detect and autocorrect this deprecation.

Remediation

Set LC_ALL in current shell as:

export LC_ALL="<locale_name>"

To check the locale value, run:

locale -v

You can also use file Resource and add this variable in any other file of your choice and then can source that file to reflect changes.

file "<path_to_file>" do
  content "LC_ALL=<locale_name>"
end

Where path_to_file could be any one of:

  • /etc/default/locale
  • /etc/sysconfig/i18n
  • /etc/environment

Setting LC_ variables varies by platform, but these are the common locations to configure LC_ variables.

Warning

Using the file Resource or other manual management method of LC configuration may overwrite settings from this resource and break your system.

Was this page helpful?

×









Search Results