Make-initrd development discussion
 help / color / mirror / Atom feed
* [make-initrd] Версия make-initrd
@ 2026-10-21 20:08 Leonid Krivoshein
  2026-10-22  9:15 ` Alexey Gladkov
  0 siblings, 1 reply; 5+ messages in thread
From: Leonid Krivoshein @ 2026-10-21 20:08 UTC (permalink / raw)
  To: make-initrd

Привет!


Новый вопрос по извлечению версии make-initrd в рантайме. Не появилось 
ли за последние годы чего-то нового, помимо возможности парсить 
/etc/initrd-release? Иногда нежелательно поднимать жёсткую зависимость 
на версию make-initrd, достаточно учесть разницу в своём коде. Что-то типа:

initrd_version()
initrd_version_compare()
/.initrd/VERSIOSN


-- 
WBR, Leonid Krivoshein.



^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [make-initrd] Версия  make-initrd
  2026-10-21 20:08 [make-initrd] Версия make-initrd Leonid Krivoshein
@ 2026-10-22  9:15 ` Alexey Gladkov
  2026-10-22 19:48   ` Leonid Krivoshein
  0 siblings, 1 reply; 5+ messages in thread
From: Alexey Gladkov @ 2026-10-22  9:15 UTC (permalink / raw)
  To: make-initrd

On Wed, Oct 21, 2026 at 11:08:00PM +0300, Leonid Krivoshein wrote:
> Привет!
> 
> 
> Новый вопрос по извлечению версии make-initrd в рантайме. Не появилось ли за
> последние годы чего-то нового, помимо возможности парсить
> /etc/initrd-release? Иногда нежелательно поднимать жёсткую зависимость на
> версию make-initrd, достаточно учесть разницу в своём коде. Что-то типа:
> 
> initrd_version()
> initrd_version_compare()
> /.initrd/VERSIOSN

Сейчас есть только /etc/initrd-release. Там есть $VERSION_ID.

Почему его не достаточно ?

-- 
Rgrds, legion



^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [make-initrd] Версия make-initrd
  2026-10-22  9:15 ` Alexey Gladkov
@ 2026-10-22 19:48   ` Leonid Krivoshein
  2026-10-22 21:30     ` Alexey Gladkov
  0 siblings, 1 reply; 5+ messages in thread
From: Leonid Krivoshein @ 2026-10-22 19:48 UTC (permalink / raw)
  To: make-initrd


On 10/22/26 12:15 PM, Alexey Gladkov wrote:
> On Wed, Oct 21, 2026 at 11:08:00PM +0300, Leonid Krivoshein wrote:
>> Привет!
>>
>>
>> Новый вопрос по извлечению версии make-initrd в рантайме. Не появилось ли за
>> последние годы чего-то нового, помимо возможности парсить
>> /etc/initrd-release? Иногда нежелательно поднимать жёсткую зависимость на
>> версию make-initrd, достаточно учесть разницу в своём коде. Что-то типа:
>>
>> initrd_version()
>> initrd_version_compare()
>> /.initrd/VERSIOSN
> 
> Сейчас есть только /etc/initrd-release. Там есть $VERSION_ID.
> 
> Почему его не достаточно ?
> 

Версию оттуда извлечь можно, не спорю. Gemini считает make-initrd одним 
из двух генераторов initramfs, где узнать версию в рантайме довольно 
просто. Во многих других это невозможно или очень сложно сделать.

Но make-initrd имеет более 60 встроенных фич и кто знает, сколько ещё 
внешних, предоставляет им некий API, некоторые фичи также предоставляют 
API. Все эти API со временем меняются. Понятно, что я сам могу написать 
реализацию двух упомянутых функций. Но вполне ожидаемо для *ЛЮБОЙ* 
библиотеки предоставлять такие функции в уже готовом виде. Просто, чтобы 
авторы фич make-initrd не занимались собственным велосипедо-творчеством.

if initrd_version_compare 2.36.0; then
         # ...можно делать сброс rootdelay...
fi


-- 
WBR, Leonid Krivoshein.



^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [make-initrd] Версия  make-initrd
  2026-10-22 19:48   ` Leonid Krivoshein
@ 2026-10-22 21:30     ` Alexey Gladkov
  2026-10-22 21:59       ` Leonid Krivoshein
  0 siblings, 1 reply; 5+ messages in thread
From: Alexey Gladkov @ 2026-10-22 21:30 UTC (permalink / raw)
  To: make-initrd

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.

> Но 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. Тут нужна версия фичи.

Можно внутри всех /bin/*-sh-functions обязательно держать версию API a-ля
soname. Тогда можно проверить версию API конкретного интерфейса.

Вообще я не большой поклонник проверки версий. Любой бэкпорт функционала
на старую версию ломает эти проверки.

-- 
Rgrds, legion



^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [make-initrd] Версия make-initrd
  2026-10-22 21:30     ` Alexey Gladkov
@ 2026-10-22 21:59       ` Leonid Krivoshein
  0 siblings, 0 replies; 5+ messages in thread
From: Leonid Krivoshein @ 2026-10-22 21:59 UTC (permalink / raw)
  To: make-initrd



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.



^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2026-10-22 21:59 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-10-21 20:08 [make-initrd] Версия make-initrd 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

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