Bug 27408 - Don't set LANG to "C" by default
Summary: Don't set LANG to "C" by default
Status: CLOSED FIXED
Alias: None
Product: Sisyphus
Classification: Development
Component: systemd (show other bugs)
Version: unstable
Hardware: all Linux
: P3 normal
Assignee: Alexey Shabalin
QA Contact: qa-sisyphus
URL:
Keywords:
: 27705 (view as bug list)
Depends on:
Blocks: 28991
  Show dependency tree
 
Reported: 2012-06-05 22:14 MSK by Mikhail Efremov
Modified: 2018-01-28 16:10 MSK (History)
8 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Mikhail Efremov 2012-06-05 22:14:45 MSK
У нас есть скрипты, принимающие решения по отсутствию этой переменной.
В частности /etc/profile.d/lang.sh.
Также надо запаковать пустой (или с LANG=) файл /etc/locale.conf, чтобы systemd не пытался использовать /etc/sysconfig/i18n.

http://git.altlinux.org/people/sem/packages/?p=systemd.git;a=commit;h=3303e63d3ad9b1c6ebf81b67f43920462491f323
Comment 1 AEN 2012-06-16 17:57:32 MSK
Важно для установщика, прошу обратить внимание.
Comment 2 Dmitry V. Levin 2012-06-16 18:19:32 MSK
Просьба не забыть заапстримить это изменение.
Comment 3 Alexey Shabalin 2012-06-18 13:41:27 MSK
Чесно говоря, я не понял зачем это делается, поверю на слово, что это нужно.
Я специально добавлял поддержку /etc/sysconfig/i18n для ALTLinux.

А вот файлы /etc/locale.conf, /etc/vconsole.conf /etc/os-release, /etc/timezone, /etc/machine-info, /etc/machine-id, /etc/hostname наверно лучше запаковать в пакет startup. 
Ваше мнение?
Comment 4 Dmitry V. Levin 2012-06-18 14:47:02 MSK
(In reply to comment #3)
> Чесно говоря, я не понял зачем это делается, поверю на слово, что это нужно.
> Я специально добавлял поддержку /etc/sysconfig/i18n для ALTLinux.

Это нужно для того, чтобы /etc/profile.d/lang.sh продолжал работать.

> А вот файлы /etc/locale.conf, /etc/vconsole.conf /etc/os-release,
> /etc/timezone, /etc/machine-info, /etc/machine-id, /etc/hostname наверно лучше
> запаковать в пакет startup.

Насколько я понимаю, systemd заменяет пакет startup полностью.
Может быть, лучше в setup, altlinux-release, еще куда-то?
Comment 5 Alexey Shabalin 2012-06-18 15:40:45 MSK
(В ответ на комментарий №4)
> (In reply to comment #3)
> > Чесно говоря, я не понял зачем это делается, поверю на слово, что это нужно.
> > Я специально добавлял поддержку /etc/sysconfig/i18n для ALTLinux.
> 
> Это нужно для того, чтобы /etc/profile.d/lang.sh продолжал работать.
А он нужен с systemd? что он делает такого, что не может systemd?

> > А вот файлы /etc/locale.conf, /etc/vconsole.conf /etc/os-release,
> > /etc/timezone, /etc/machine-info, /etc/machine-id, /etc/hostname наверно лучше
> > запаковать в пакет startup.
> 
> Насколько я понимаю, systemd заменяет пакет startup полностью.
> Может быть, лучше в setup, altlinux-release, еще куда-то?

Я примерно это и имел в виду, в разные пакеты, но не в systemd.
Comment 6 Mikhail Efremov 2012-06-18 15:47:24 MSK
(В ответ на комментарий №5)
> > > Чесно говоря, я не понял зачем это делается, поверю на слово, что это нужно.
> > > Я специально добавлял поддержку /etc/sysconfig/i18n для ALTLinux.
> > 
> > Это нужно для того, чтобы /etc/profile.d/lang.sh продолжал работать.
> А он нужен с systemd? что он делает такого, что не может systemd?

Применять настройки в соответствии с тем, что написано в $HOME/.i18n или /etc/sysconfig/i18n в данный момент.
Comment 7 Michael Shigorin 2012-06-18 17:34:15 MSK
(In reply to comment #4)
> Может быть, лучше в setup, altlinux-release, еще куда-то?
Только не в altlinux-release, он и так перегружен зависимостями (на него).
Comment 8 AEN 2012-06-20 12:15:18 MSK
(В ответ на комментарий №1)
> Важно для установщика, прошу обратить внимание.

2shaba@: какие сомнения остались, Алексей?
Comment 9 Repository Robot 2012-06-20 14:29:18 MSK
systemd-185-alt2 -> sisyphus:

* Wed Jun 20 2012 Alexey Shabalin <shaba@altlinux> 185-alt2
- rename libudev to libudev1.
- return cd rule generator (ALT#26389).
- run setsysfont as ExecStartPre for getty instead of fbsetfont
  service.
- units: avoid redundant VT clearing by agetty (thx Michal Schmidt).
- ALTLinux support: Don't set LANG to "C" by default. (thx Mikhail Efremov) (ALT#27408).
Comment 10 AEN 2012-06-20 14:40:11 MSK
Алексей, большое спасибо!
Comment 11 Alexey Shabalin 2012-06-20 15:10:46 MSK
ещё /etc/locale.conf никуда не запакован.
Comment 12 Alexey Shabalin 2012-06-20 18:04:00 MSK
(В ответ на комментарий №6)
> (В ответ на комментарий №5)
> > > > Чесно говоря, я не понял зачем это делается, поверю на слово, что это нужно.
> > > > Я специально добавлял поддержку /etc/sysconfig/i18n для ALTLinux.
> > > 
> > > Это нужно для того, чтобы /etc/profile.d/lang.sh продолжал работать.
> > А он нужен с systemd? что он делает такого, что не может systemd?
> 
> Применять настройки в соответствии с тем, что написано в $HOME/.i18n или
> /etc/sysconfig/i18n в данный момент.

Вот такой проект это умеет делать:
http://foo-projects.org/~sofar/user-session/
Comment 13 AEN 2013-05-22 19:51:01 MSK
2mike: как  закрытая бага может блокировать открытую? Что Вы хотели этим сказать???
Нельзя так с багами обращаться...
Comment 14 Michael Shigorin 2013-05-23 13:05:34 MSK
(In reply to comment #3)
> Чесно говоря, я не понял зачем это делается, поверю на слово, что это нужно.
Здесь не хватало уточнения, что иначе:
- указанная локаль выставляется и для сервисов, что обычно нежелательно;
- при пустом LANG systemd выставлял C и /etc/profile.d/lang.sh "не стрелял".

(In reply to comment #13)
> Что Вы хотели этим сказать???
За неимением See Also: довольствуемся гербовой...

http://www.bugzilla.org/releases/3.4/release-notes.html#v34_feat_see
Comment 15 Michael Shigorin 2013-09-17 19:24:00 MSK
Правильно понимаю, что этот патч отвалился?
Comment 16 Alexey Shabalin 2013-09-17 20:09:50 MSK
(В ответ на комментарий №15)
> Правильно понимаю, что этот патч отвалился?

Пока еще нет(в сизифе systemd-206), в systemd-207 больше не выставляется локаль поумолчанию.
207 еще не тестировал, буду посмотреть.
Comment 17 Michael Shigorin 2013-09-17 20:26:39 MSK
(В ответ на комментарий №16)
> > Правильно понимаю, что этот патч отвалился?
> Пока еще нет(в сизифе systemd-206)
Дело в том, что при LANG= в /etc/locale.conf и чём-нибудь вроде LANG=ru_RU.UTF-8 (также проверял uk_UA, tt_RU) в /etc/sysconfig/i18n получаю локаль en_US.utf8 (добуквенно) и, соответственно, /etc/profile.d/0lang.sh не отрабатывает.

Пока разбираюсь, а вообще это попытка наконец разрешить bug #28991, про который вспомнил в процессе обучения livecd-setlocale хакам для конфигурирования раскладки в gnome3 через пятку (точнее, dconf).

> в systemd-207 больше не выставляется локаль поумолчанию.

<offtopic>
> 207 еще не тестировал, буду посмотреть.
Если хочешь, маякай -- пособираю образы с тасками.  Ну или можешь сам, при настроенном hasher это где-то так:

# apt-get install mkimage-profiles
$ mkdir ~/out
$ make -C /usr/share/mkimage-profiles regular-mate.iso

А то с 206 вылезли сильные тормоза на отключении, что на образах хорошо видно... (но это отдельная тема, которую тоже всё забывал поднять, да и не так важно)
</offtopic>
Comment 18 Michael Shigorin 2013-09-17 20:30:36 MSK
PS: собрал тот же профиль на p7/branch (с systemd-201) -- передача lang= в cmdline ядра вместе с livecd-setlocale отрабатывает как и предполагалось.  Если хочешь, выложу рядом две сборки.

Ну и если регрессия подтвердится -- наверное, лучше открыть отдельный баг, чем обсуждать в CLOSED FIXED.
Comment 19 Michael Shigorin 2013-09-18 00:51:57 MSK
Извернулся в livecd-setlocale:
http://git.altlinux.org/people/mike/packages/?p=livecd-setlocale.git;a=commitdiff;h=d40f1b695f9e83afab81ed7b8863ae45810df591
http://git.altlinux.org/people/mike/packages/?p=livecd-setlocale.git;a=commitdiff;h=a7b07422be4095b9d05d9772c0e916fe25b7ecbe

Вообще надо как-то это всё утряхивать опять во избежание складирования хаков.
Comment 20 Alexey Shabalin 2018-01-28 16:10:21 MSK
*** Bug 27705 has been marked as a duplicate of this bug. ***