[devel-distro] branding

Leonid Krivoshein klark.devel at gmail.com
Thu Sep 2 19:46:11 MSK 2021



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. При даунгрейде 
пакета брэндинга схема будет в точности такой же.


-- 
Best regards,
Leonid Krivoshein.



More information about the devel-distro mailing list