Bug 39537 - get_timezone() expects /etc/localtime to be a symlink
Summary: get_timezone() expects /etc/localtime to be a symlink
Status: NEW
Alias: None
Product: Sisyphus
Classification: Development
Component: systemd (show other bugs)
Version: unstable
Hardware: x86_64 Linux
: P5 normal
Assignee: Alexey Shabalin
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2021-01-13 15:40 MSK by Pavel Nakonechnyi
Modified: 2021-08-18 15:52 MSK (History)
5 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Pavel Nakonechnyi 2021-01-13 15:40:24 MSK
В systemd код определения часового пояса ломается об /etc/localtime, если это не симлинк. См. https://github.com/systemd/systemd/blob/master/src/basic/time-util.c#L1454

Из-за этого не работает systemd-networkd в режиме DHCP сервера, если явно не указан часовой пояс в настройках собственно DHCP сервера:

 [DHCPServer]
 Timezone=UTC
 
Кроме этого места, get_timezone() еще используется только в timedated.c. Тем не менее, из-за такой особенности не работает умолчально ожидаемое поведение nspawn контейнеров с виртуальными интерфейсами внутри.
Comment 1 Sergey V Turchin 2021-01-13 15:51:35 MSK
В случае, если /etc/localtime не симлинк, нужно парсить /etc/sysconfig/clock, как сделано в других проектах.
Comment 2 Alexey Shabalin 2021-08-18 15:45:41 MSK
(Ответ для Sergey V Turchin на комментарий #1)
> В случае, если /etc/localtime не симлинк, нужно парсить
> /etc/sysconfig/clock, как сделано в других проектах.

не надо его никому пакрсить, /etc/sysconfig/clock это ALT специфик, никто не знает про такие настройки.
Comment 3 Sergey V Turchin 2021-08-18 15:52:40 MSK
(Ответ для Alexey Shabalin на комментарий #2)
> /etc/sysconfig/clock это ALT специфик,
Не выдумывай ерунду, пожалуйста.

> никто не знает про такие настройки.
Все кроме тебя знают, похоже.