From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: To: devel-distro@lists.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> <716eb27b-cd7a-cef8-eb21-d06e5dd41408@basealt.ru> <20210819112909.GC5537@altlinux.org> From: Anton Farygin Organization: BaseALT Message-ID: <9b80f32e-8a84-95de-3f40-0bfcb971481d@basealt.ru> Date: Thu, 19 Aug 2021 15:21:02 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.13.0 MIME-Version: 1.0 In-Reply-To: <20210819112909.GC5537@altlinux.org> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Content-Language: ru 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 12:21:03 -0000 Archived-At: List-Archive: On 19.08.2021 14:29, Dmitry V. Levin wrote: > On Thu, Aug 19, 2021 at 02:19:11PM +0300, Anton Farygin wrote: >> On 19.08.2021 13:33, Dmitry V. Levin wrote: >>> 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 >>>> >>>> предлагаю с обсуждением переместиться туда. >>> Обсуждать в баге неудобно. >> Вообще, конечно, bugzilla именно для этого и предназначена. Ну да ладно. >> Давайте здесь. >>> Я предлагаю следующую простую схему. >>> >>> Файл /etc/altlinux-release обновляется, как обычные файлы. >> Т.е. - просто лежит в пакете, который приезжает с каждой новой версией >> пакета, содержащего этот файл? > Да, тут сложно что-то другое придумать, формат этого файла слишком > негибкий. Были предложения копировать /etc/altlinux-release куда-то, > но при наличии os-release это выглядит избыточным. Этот файл вообще избыточен и нужен для совместимости с совсем старыми системами. Ещё, мне кажется, надо избавляться от вот этого мнимого соответствия RedHat и Fedora: /etc/fedora-release /etc/os-release /etc/redhat-release /etc/system-release > >> Например, в моём случае это branding-xalt-kworkstation-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 уже были параметры с >>> такими именами, то: >>> >>> - старые параметры, имена и значения которых совпадают с новыми, >>> удаляются; >> Т.е., говоря проще - заменяются новыми значениями из /usr/lib/os-release >>> - остальные старые параметры, имена которых совпадают с новыми, >>> переименовываются путём добавления префикса ALT_installed_ и добавляются >>> в /etc/os-release, если параметров с такими именами там ещё не было, в >>> противном случае удаляются. >> Вот это вообще непонятно, что имеется в виду. > Имеется в виду, что когда из /usr/lib/os-release приезжают параметры с > теми же именами, что и в /etc/os-release, но с другими значениями, то > такие параметры в /etc/os-release переименовываются. А если переименовываемые параметры уже были ? > >> можно пример, на: >> $ cat /etc/os-release >> NAME="ALT" >> VERSION="9.2 " >> ID=altlinux >> VERSION_ID=9.2 >> PRETTY_NAME="ALT Workstation K 9.2  (Centaurea Pineticola)" >> ANSI_COLOR="1;33" >> CPE_NAME="cpe:/o:alt:kworkstation:9.2" >> HOME_URL="https://www.basealt.ru/" >> BUG_REPORT_URL="https://bugs.altlinux.org/" >> DOCUMENTATION_URL="https://docs.altlinux.org/" >> SUPPORT_URL="https://support.basealt.ru/" >> >> Что из этого должно переименоваться в ALT_installed ? > А что в /usr/lib/os-release? > Сейчас одинаковое. Это плохой пример. вот хороший (тут Sisyphus): $ cat /etc/os-release NAME="ALT Server" VERSION="8.2 (april)" ID=altlinux VERSION_ID=8.2 PRETTY_NAME="ALT 8.2 Server (april)" ANSI_COLOR="1;33" CPE_NAME="cpe:/o:alt linux:school server:8.2" HOME_URL="http://altlinux.ru/" BUG_REPORT_URL="https://bugs.altlinux.org/" $ cat /usr/share/branding-data-current/release/os-release (по новой схеме это будет /usr/lib/os-release) NAME="ALT Server" VERSION="9.2" ID=altlinux VERSION_ID=9.2 PRETTY_NAME="ALT Server 9.2 (FalcoRusticolus)" ANSI_COLOR="1;33" CPE_NAME="cpe:/o:alt:server:9.2" HOME_URL="https://basealt.ru/" BUG_REPORT_URL="https://bugs.altlinux.org/"