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