ITblog.by » Статьи » Добавление локали ru_RU.CP1251 с через localedef

Добавление локали ru_RU.CP1251 с через localedef


Однажды при работе с git репозиторием возникла проблема:

# git pull
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
    LANGUAGE = "ru_RU.CP1251",
    LC_ALL = "ru_RU.CP1251",
    LC_PAPER = "ru_RU.CP1251",
    LC_ADDRESS = "ru_RU.CP1251",
    LC_MONETARY = "ru_RU.CP1251",
    LC_NUMERIC = "ru_RU.CP1251",
    LC_TELEPHONE = "ru_RU.CP1251",
    LC_IDENTIFICATION = "ru_RU.CP1251",
    LC_MEASUREMENT = "ru_RU.CP1251",
    LC_TIME = "ru_RU.CP1251",
    LC_NAME = "ru_RU.CP1251",
    LANG = "ru_RU.CP1251"
    are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
Already up-to-date.

Родной кодировкой проекта была cp1251. Но вот нечадача: данная локаль была установлена в системе (ubuntu).

После многочисленных тестов на разных осях выяснил, что и на debian-подобных, и на redhat-подобных системах возникает данный ворнинг.
После дебага с помощью strace пришел к выводу, что git (вернее gitolite) при пуллинге выполняет perl скрипты на самом сервере, где хранится репозиторий.

 

На сервере репозитория:

# locale -a | grep ru_RU
ru_RU
ru_RU.iso88595
ru_RU.koi8r
ru_RU.utf8

Не видим нужной локали, ставим:

localedef  --no-archive -c -i ru_RU -f CP1251 ru_RU.CP1251

После этого perl перестает ругаться.

Так как не нашел должного описания, пишу сюда. Для экономии времени заглянувшего сюда читателя


Аватар пользователя vismuth
  • vismuth
  • 29 марта 2013 15:54
  • Группа Посетители
  • Новостей: 0
  • Комментариев: 10
Спасибо, за это отличный сайт)))
Rating All.BY Анализ сайта ITblog.by