From: Leonid Krivoshein <klark.devel@gmail.com>
To: make-initrd@lists.altlinux.org
Subject: Re: [make-initrd] Версия make-initrd
Date: Fri, 23 Oct 2026 00:59:56 +0300
Message-ID: <066e9b4f-8b3f-4f3c-86eb-50a9dc09522f@gmail.com> (raw)
In-Reply-To: <atqAb39gYGpEOuKu@example.org>
On 10/23/26 12:30 AM, Alexey Gladkov wrote:
> On Thu, Oct 22, 2026 at 10:48:13PM +0300, Leonid Krivoshein wrote:
>>> Сейчас есть только /etc/initrd-release. Там есть $VERSION_ID.
>>>
>>> Почему его не достаточно ?
>>>
>>
>> Версию оттуда извлечь можно, не спорю. Gemini считает make-initrd одним из
>> двух генераторов initramfs, где узнать версию в рантайме довольно просто. Во
>> многих других это невозможно или очень сложно сделать.
>
> Хочу заметить, что /etc/initrd-release вполне документированный формат
> os-release(5). Это как бы стандартный API.
>
Только не API, а формат, то есть, чтобы извлечь версию, всё-таки
придётся приложить усилия.
>> Но make-initrd имеет более 60 встроенных фич и кто знает, сколько ещё
>> внешних, предоставляет им некий API, некоторые фичи также предоставляют API.
>> Все эти API со временем меняются. Понятно, что я сам могу написать
>> реализацию двух упомянутых функций. Но вполне ожидаемо для *ЛЮБОЙ*
>> библиотеки предоставлять такие функции в уже готовом виде. Просто, чтобы
>> авторы фич make-initrd не занимались собственным велосипедо-творчеством.
>>
>> if initrd_version_compare 2.36.0; then
>> # ...можно делать сброс rootdelay...
>> fi
>
> В данном конкретном примере c "...можно делать сброс rootdelay..." если
> версия make-initrd 2.36.0 это ещё хоть как-то катит. Но вот ты упомянул
> другие внешние фичи, которые предоставляют API и вот это никак не ложится
> в твою идею с версией make-initrd. Тут нужна версия фичи.
>
Строго говоря, да, но внешние фичи больше зависимы от API make-initrd, а
от их API вряд ли кто-то зависит и они по идее должны двигаться в ногу с
апстримом, то есть, важна именно версия make-initrd.
> Можно внутри всех /bin/*-sh-functions обязательно держать версию API a-ля
> soname. Тогда можно проверить версию API конкретного интерфейса.
>
> Вообще я не большой поклонник проверки версий. Любой бэкпорт функционала
> на старую версию ломает эти проверки.
>
Сомневаюсь, что кто-то будет бэкпортить новый функционал на старые
версии. Если новый или изменённый функционал можно описать как новую
фичу, тогда проверки в динамике has_feature будет достаточно.
--
WBR, Leonid Krivoshein.
prev parent reply other threads:[~2026-10-22 21:59 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-10-21 20:08 Leonid Krivoshein
2026-10-22 9:15 ` Alexey Gladkov
2026-10-22 19:48 ` Leonid Krivoshein
2026-10-22 21:30 ` Alexey Gladkov
2026-10-22 21:59 ` Leonid Krivoshein [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=066e9b4f-8b3f-4f3c-86eb-50a9dc09522f@gmail.com \
--to=klark.devel@gmail.com \
--cc=make-initrd@lists.altlinux.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Make-initrd development discussion
This inbox may be cloned and mirrored by anyone:
git clone --mirror http://lore.altlinux.org/make-initrd/0 make-initrd/git/0.git
# If you have public-inbox 1.1+ installed, you may
# initialize and index your mirror using the following commands:
public-inbox-init -V2 make-initrd make-initrd/ http://lore.altlinux.org/make-initrd \
make-initrd@lists.altlinux.org make-initrd@lists.altlinux.ru make-initrd@lists.altlinux.com
public-inbox-index make-initrd
Example config snippet for mirrors.
Newsgroup available over NNTP:
nntp://lore.altlinux.org/org.altlinux.lists.make-initrd
AGPL code for this site: git clone https://public-inbox.org/public-inbox.git