[devel-distro] branding

Dmitry V. Levin ldv at altlinux.org
Thu Sep 2 20:09:21 MSK 2021


On Thu, Sep 02, 2021 at 07:46:11PM +0300, Leonid Krivoshein wrote:
> 
> 
> 02.09.2021 11:26, Sergey V Turchin пишет:
> > 01.09.2021 20:08, Leonid Krivoshein пишет:
> >>
> >> 01.09.2021 18:01, Sergey V Turchin пишет:
> >>> 01.09.2021 15:33, Leonid Krivoshein пишет:
> >>>
> >>> [...]
> >>>> Но не из самого /etc/os-release, а того, что лежит в /usr/share
> >>> Не /usr/share, а из /usr/lib/os-release.
> >>> https://www.freedesktop.org/software/systemd/man/os-release.html
> >>
> >> Не, это о другом. Я имел ввиду наше внутреннее:
> >> /usr/share/branding-data-current/release/os-release
> > Так, разговор и о том, чтоб без велосипедов.
> >
> 
> Стандарт предписывает "клиентам" брать данные из /etc/os-release и, если 
> его нет, то из /usr/lib/os-release, т.е. это одна и та же сущность, 
> второй может не быть, если есть первая. Здесь "клиент" -- это тот, кто 
> хочет сориентироваться в текущем окружении, типа ansible.
> 
> То, что у нас лежит в /usr/share -- это не велосипед, а оригинальный 
> неизменяемый файл, поставлявшийся с пакетом. Из него в /etc/os-release 
> сейчас копируется информация в пост-установочном скрипте, сам 
> /etc/os-release сейчас является файлом конфигурации, и он не меняется с 
> обновлением пакета брэндинга.
> 
> Предлагается в rpm сделать файл-триггер, который будет генерировать 
> содержимое /etc/os-release, полностью соответствующее стандарту. В новом 
> варианте здесь будут данные, соответствующие текущей ситуации, а не той, 
> что была. Но обсуждается вариант сохранения информации, соответствующие 
> исходному состоянию системы. Рассмотрены два варианта:
> 
> - Сохранять все поля, добавляя к ним альтовый префикс, что допускается 
> стандартом.
> - Сохранять только поле BUILD_ID, а в его отсутствии брать значение из 
> VERSION_ID (в /etc/os-release).
> 
> Файл-триггер будет брать СОХРАНЯЕМЫЕ значение из /etc/os-release, 
> остальные поля перезаписывать из 
> /usr/share/branding-data-current/release/os-release. При даунгрейде 
> пакета брэндинга схема будет в точности такой же.

Наверное, эта деталь не очень важна, но я полагал, что файлтриггер будет
смотреть не напрямую в
/usr/share/branding-data-current/release/os-release, а в
/usr/lib/os-release, который, в свою очередь, будет относительной ссылкой
на тот же /usr/share/branding-data-current/release/os-release.


-- 
ldv


More information about the devel-distro mailing list