From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Message-ID: <01ce3983-2315-5526-822c-654f56faca29@basealt.ru> Date: Thu, 2 Sep 2021 21:13:18 +0300 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.0.3 Content-Language: ru To: devel-distro@lists.altlinux.org References: <5644e0ac-46be-e7eb-2a40-4c4bc8cc71c7@basealt.ru> <20210901094702.GA30552@altlinux.org> <2e8d4b40-6044-505d-4e8d-06c73a284f71@basealt.ru> <20210901112512.GA31862@altlinux.org> <563650cb-f839-1337-3993-26ec257cf305@basealt.ru> <7e0e75a1-ccb8-b931-82c3-a1dcba02200e@altlinux.org> <20210902170921.GB20013@altlinux.org> From: Anton Farygin Organization: BaseALT In-Reply-To: <20210902170921.GB20013@altlinux.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Subject: Re: [devel-distro] branding 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, 02 Sep 2021 18:13:21 -0000 Archived-At: List-Archive: On 02.09.2021 20:09, Dmitry V. Levin wrote: > 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. > > Во время работы файлтриггера в этом месте данные будут уже обновлены. А вот в /etc/os-release они всё ещё остануться старые.