From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Date: Thu, 19 Aug 2021 14:43:52 +0300 From: "Dmitry V. Levin" To: devel-distro@lists.altlinux.org Message-ID: <20210819114352.GA5750@altlinux.org> References: <241eebba-579c-7c55-6324-770c51e1b01f@gmail.com> <20210816071919.5311546b@x230.localdomain> <79f177b8-b2ca-8b12-5d8b-badc43ebb918@basealt.ru> <20210816122230.0e0afeca@tower> <74b053ef-414f-43c1-9676-445a97f1fc3a@basealt.ru> <20210819103346.GB4869@altlinux.org> <4d61cd9e-4417-c103-5686-5d0090072ba2@altlinux.org> MIME-Version: 1.0 Content-Type: text/plain; charset=koi8-r Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <4d61cd9e-4417-c103-5686-5d0090072ba2@altlinux.org> Subject: Re: [devel-distro] os-release X-BeenThere: devel-distro@lists.altlinux.org X-Mailman-Version: 2.1.12 Precedence: list Reply-To: Distributions development List-Id: Distributions development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 19 Aug 2021 11:43:52 -0000 Archived-At: List-Archive: 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