[make-initrd] Проверка версии make-initrd

Alexey Gladkov gladkov.alexey at gmail.com
Thu Jul 1 17:48:38 MSK 2021


On Thu, Jul 01, 2021 at 04:59:52PM +0300, Leonid Krivoshein wrote:
> 
> 
> 01.07.2021 16:44, Антон Мидюков пишет:
> > 01.07.2021 20:32, Alexey Gladkov пишет:
> > > On Thu, Jul 01, 2021 at 02:11:58PM +0300, Leonid Krivoshein wrote:
> > > > Всем привет!
> > > > 
> > > > 
> > > > Сейчас в bootchain есть такой код:
> > > > 
> > > > initrd_version()
> > > > {
> > > >          [ ! -s /etc/initrd-release ] ||
> > > >                  . /etc/initrd-release
> > > >          local __version="${VERSION_ID-}"
> > > >          printf '%s' "INITRAMFS${__version:+ $__version}"
> > > > }
> > > > 
> > > > Он используется следующим образом в том же демоне:
> > > > 
> > > > ...
> > > > exec >"$BC_LOGFILE" 2>&1
> > > > message "Starting server [$(initrd_version)]..."
> > > > ...
> > > > 
> > > > В логах это обычно выглядит так:
> > > > 
> > > > -----
> > > > Starting server [INITRAMFS 2.16.0]...
> > > > ...
> > > > -----
> > > > 
> > > > На регулярках MATE сейчас почему-то вылазит совсем иное:
> > > > 
> > > > -----
> > > > Starting server [INITRAMFS 9.1]...
> > > > ...
> > > > -----
> > > > 
> > > > Понятно, что вопрос к m-p, а не make-initrd, видимо в initramfs попадает
> > > > какой-то другой /etc/initrd-release.
> > > > 
> > > > Кроме логов проверка версии может быть полезна для реализации фрагментов
> > > > кода по-разному, в зависимости от версии make-initrd.
> > > Похоже кто-то в момент выполнения переопределяет $(VERSION). Ты можешь
> > > показать "битый" /etc/initrd-release ?
> > > 
> > Я могу:
> > ID=make-initrd
> > VERSION_ID=2.19.1
> > NAME="make-initrd"
> > VERSION="9.1  make-initrd-2.19.1"
> > PRETTY_NAME="ALT Workstation K 9.1  (Centaurea Pineticola) make-initrd-2.19.1 (Initramfs)"
> > ANSI_COLOR="0;34"
> 
> У меня пакетная база в зеркале чуть старее и вывод сейчас такой:
> 
> NAME="ALT"
> VERSION="9.1"
> ID=altlinux
> VERSION_ID=9.1
> PRETTY_NAME="ALT Workstation K 9.1  (Centaurea Pineticola)"
> ANSI_COLOR="0;33"
> ...
> 
> 
> При этом я проверил, что /etc/initrd-release перед запуском make-initrd в
> образ не попадает при сборке. Какая-то хитрая фича make-initrd от K-9.1?

А ты можешь приаттачить make-initrd -v ... ? Никак не могу воспроизвести.

-- 
Rgrds, legion



More information about the Make-initrd mailing list