[devel-distro] os-release

Dmitry V. Levin ldv at altlinux.org
Thu Aug 19 14:43:52 MSK 2021


On Thu, Aug 19, 2021 at 02:39:21PM +0300, Andrey Cherepanov wrote:
> 19.08.2021 13:33, Dmitry V. Levin пишет:
> > On Mon, Aug 16, 2021 at 12:26:55PM +0300, Anton Farygin wrote:
> >> On 16.08.2021 12:22, Anton V. Boyarshinov wrote:
> >>>    
> >>>>> У каждого продукта своё версионирование и не вполне понятно -- как
> >>>>> можно связать это версионирование с "версией бранча". Версия бранча это
> >>>>> вообще имя_бранча+дата.
> >>>> У /etc/os-release есть куча полей, куда можно записывать и дату бранча в
> >>>> том числе.
> >>>>
> >>>> Плюс в стандарте есть возможность создавать свои расширения.
> >>> Значит надо продумать как единообразным образом использовать эти кучу
> >>> полей и, возможно, расширения.
> >> Я для обсуждеия этого повесил баг:
> >>
> >> https://bugzilla.altlinux.org/40703
> >>
> >> предлагаю с обсуждением переместиться туда.
> > Обсуждать в баге неудобно.
> > Я предлагаю следующую простую схему.
> >
> > Файл /etc/altlinux-release обновляется, как обычные файлы.
> > Файл /etc/os-release обновляется по правилам, описанным ниже.
> >
> > Все провайдеры os-release пакуют его в /usr/lib/os-release
> > (согласно https://www.freedesktop.org/software/systemd/man/os-release.html),
> > /usr/lib/os-release может быть ссылкой куда-то ещё, это несущественно.
> > Они же пакуют %ghost /etc/os-release нулевого размера.
> > Файлриггер следит за обновлением пакетов, содержащих /usr/lib/os-release,
> > и мержит изменения в /etc/os-release следующим образом:
> >
> > Все параметры, описанные в /usr/lib/os-release, за исключением параметров,
> > имена которых начинаются с префикса ALT_installed_, копируются в
> > /etc/os-release, при этом, если в /etc/os-release уже были параметры с
> > такими именами, то:
> >
> > - старые параметры, имена и значения которых совпадают с новыми,
> >    удаляются;
> > - остальные старые параметры, имена которых совпадают с новыми,
> >    переименовываются путём добавления префикса ALT_installed_ и добавляются
> >    в /etc/os-release, если параметров с такими именами там ещё не было, в
> >    противном случае удаляются.
> >
> а) избыточно сложный парсинг и слияние к тому же большого файла (по 
> сравнению просто с копией /etc/altlinux-release)

Это очень простой merger.  В чём избыточная сложность?
Какому пакету будет принадлежать копия /etc/altlinux-release?

> б) забыл про необновление лицензий.

Это было вообще не про os-release.

Ты предложил написать следующий текст:
"При обновлении пакетов branding-*-notes не должны перезаписываться файлы
/usr/share/alt-notes/license.*.html. Они должны соответствовать начальной                                                   
установке системы.
Это позволит сохранить именно ту версию лицензии, с которой соглашался
пользователь при установке системы."


-- 
ldv


More information about the devel-distro mailing list