* [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