ALT Linux Distributions development
 help / color / mirror / Atom feed
* [devel-distro] mki-copy-efiboot fixes
@ 2020-08-17 16:56 Alexey Gladkov
  2020-08-17 17:47 ` Michael Shigorin
                   ` (2 more replies)
  0 siblings, 3 replies; 12+ messages in thread
From: Alexey Gladkov @ 2020-08-17 16:56 UTC (permalink / raw)
  To: Distributions development

Привет!

Я зарефакторил mki-copy-efiboot. Теперь его будет проще поддерживать. Плюс
я нашёл несколько небольших ошибок в нём. Заинтересованных прошу посмотреть.

http://git.altlinux.org/people/legion/packages/mkimage.git?a=shortlog;h=refs/heads/dev

-- 
Rgrds, legion



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

* Re: [devel-distro] mki-copy-efiboot fixes
  2020-08-17 16:56 [devel-distro] mki-copy-efiboot fixes Alexey Gladkov
@ 2020-08-17 17:47 ` Michael Shigorin
  2020-08-17 19:40   ` Alexey Gladkov
  2020-09-04 13:14 ` Michael Shigorin
  2020-09-08 18:45 ` Michael Shigorin
  2 siblings, 1 reply; 12+ messages in thread
From: Michael Shigorin @ 2020-08-17 17:47 UTC (permalink / raw)
  To: devel-distro

On Mon, Aug 17, 2020 at 06:56:19PM +0200, Alexey Gladkov wrote:
> Я зарефакторил mki-copy-efiboot. Теперь его будет проще
> поддерживать. Плюс я нашёл несколько небольших ошибок в нём.
> Заинтересованных прошу посмотреть.

Заинтересовался, посмотрел, по коммитам -- в конце письма.

> http://git.altlinux.org/people/legion/packages/mkimage.git?a=shortlog;h=refs/heads/dev

"А что, так можно было?!" (ц) ;-)

Н-да, что ж я не додумался до такого, когда его писал
и отлаживал... да и у тебя помощи не попросил.

Но это одна часть проблемы (развесистая логика, которая была
выписана по сути под конкретное семейство ISO -- регулярки,
стартеркиты и дистрибутивы альта), вторая остаётся: эта
функциональность именно в развесистом виде была втащена в mkimage
потому, что не хотелось спихивать с mkimage-profiles-desktop
принудительно при наличии возможности сделать и там поддержку
малыми затратами.


То есть _тогда_ у меня при реализации функциональности выбор был
-- делать её _и_ в m-p, _и_ в m-p-d, или же помучиться и сделать
единообразно в mkimage; решение для меня было очевидным.

А _сейчас_ m-p-d проводили на пенсию естественным путём,
поскольку там никто не делал работы по поддержке других
архитектур (и технически она была куда сложней, даже с m-p
оказалось немало сюрпризов по мере взросления ARM).

И если бы архитектуры вынудили выпускать седьмой альт уже сразу
на m-p (когда на нём были только стартеркиты), то я бы делал
менюшки сразу там, а в mkimage ограничился краткой и ясной
базовой функциональностью, если не дали уже готовую конфигурацию
загрузчика.


Собственно, по такой логике mki-copy-efiboot и развивался
-- сперва что-то базовое, затем "навороты".

Например, там и посейчас остался прибитый гвоздиком список
языков для передачи lang=... в cmdline инсталятору/livecd.
Задумка была сделать фичу l10n в mkimage-profiles, которая
обеспечит включение нужных пакетов локализации (сейчас они
гвоздиком же прибиты в различных дистрибутивных списках),
возможно, станет влиять на %_install_langs и т.д.

Да, можно изобрести хоть include в mkimage и подтыкать
генерируемые кусочки из профиля -- я бы такое делать
"потому что могу" не стал, а только если будет нужно
другим авторам профилей (в первую очередь Большакову).


Тут, собственно, Антон скорее моими давними соображениями
и руководствуется, когда делает/включает такие генераторы
в mkimage-profiles, а не предлагает в mkimage: это больше
головной боли, чем реюзабельной функциональности, и лучше
бы её тащить в другие места или обобщать тогда, когда это
окажется осмысленным.

Или вот поддержка memtest86.efi -- там примерно такая же
петрушка: Большакову не нужно, я заморачивался ради rescue
и дистрибутивов.


В общем, тут по сути твоё решение о том, чем ты видишь mkimage --
я считаю, что ужасам вроде даже моего mki-copy-efiboot (а с тех
пор он, смотрю, ещё разросся) там не место, потому что такой код
является _плохим_ примером, в отличие от твоего краткого.
И что такие нужные, но некрасивые вещи лучше держать там же,
где и горы других запчастей, нужных конкретно для альтовых
дистрибутивов -- в том числе и чтобы не возлагать на тебя
дополнительную нагрузку по вычитке и приёмке этого всего.

Есть и прозаический момент по отладке: m-p правится в $HOME,
mkimage -- или в /usr/share, или как boyarsh@ в своё время
ухитрялся -- тоже в $HOME, но нетривиально (уже не помню, как);
ну или с полным циклом сборки-установки пакета, что немного
перебор именно при отладке всех этих менюшечек (там и так можно
было чокнуться, поскольку помимо сборок mkimage и сборок образов
ещё были нюансы загрузчиков, фирмварей и упаковки этого всего).


Как-то так... жаль, что получился целый шкаф скелетов, но пока
их откладывали "на потом" -- они из него никуда не девались.


--------------------------------------------------------------

По коммитам:

* Reformat -- руками или чем-нить вроде indent(1)?

* Refactor generation of refind submenu -- дифф глазами
  нормально не разобрал, но сами функции после него
  выглядят заметно чище, конечно

* Move code for ia32efi_flag=present in one place --
  хорошо бы nickel@ проверил такую сборку, в Обнинске
  вроде была IA32 EFI-машинка

* Avoid using "type -t" in the posix code --
  намотал на ус (но я на POSIX и не претендовал)

Другие фиксы тоже почитал, на один commit message
предложу такой фикс:

-is already exists
+already exists

-If the
+If

PS: вот, молодёжь, учимся рефакторить :-)

-- 
 ---- WBR, Michael Shigorin / http://altlinux.org
  ------ http://opennet.ru / http://anna-news.info


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

* Re: [devel-distro] mki-copy-efiboot fixes
  2020-08-17 17:47 ` Michael Shigorin
@ 2020-08-17 19:40   ` Alexey Gladkov
  2020-08-24 19:56     ` Alexey Gladkov
  0 siblings, 1 reply; 12+ messages in thread
From: Alexey Gladkov @ 2020-08-17 19:40 UTC (permalink / raw)
  To: Distributions development

On Mon, Aug 17, 2020 at 08:47:00PM +0300, Michael Shigorin wrote:
> On Mon, Aug 17, 2020 at 06:56:19PM +0200, Alexey Gladkov wrote:
> > Я зарефакторил mki-copy-efiboot. Теперь его будет проще
> > поддерживать. Плюс я нашёл несколько небольших ошибок в нём.
> > Заинтересованных прошу посмотреть.
> 
> Заинтересовался, посмотрел, по коммитам -- в конце письма.
> 
> > http://git.altlinux.org/people/legion/packages/mkimage.git?a=shortlog;h=refs/heads/dev
> 
> "А что, так можно было?!" (ц) ;-)
> 
> Н-да, что ж я не додумался до такого, когда его писал
> и отлаживал... да и у тебя помощи не попросил.
> 
> Но это одна часть проблемы (развесистая логика, которая была
> выписана по сути под конкретное семейство ISO -- регулярки,
> стартеркиты и дистрибутивы альта), вторая остаётся: эта
> функциональность именно в развесистом виде была втащена в mkimage
> потому, что не хотелось спихивать с mkimage-profiles-desktop
> принудительно при наличии возможности сделать и там поддержку
> малыми затратами.
> 
> 
> То есть _тогда_ у меня при реализации функциональности выбор был
> -- делать её _и_ в m-p, _и_ в m-p-d, или же помучиться и сделать
> единообразно в mkimage; решение для меня было очевидным.
> 
> А _сейчас_ m-p-d проводили на пенсию естественным путём,
> поскольку там никто не делал работы по поддержке других
> архитектур (и технически она была куда сложней, даже с m-p
> оказалось немало сюрпризов по мере взросления ARM).
> 
> И если бы архитектуры вынудили выпускать седьмой альт уже сразу
> на m-p (когда на нём были только стартеркиты), то я бы делал
> менюшки сразу там, а в mkimage ограничился краткой и ясной
> базовой функциональностью, если не дали уже готовую конфигурацию
> загрузчика.

Напрашиваются шаблоны для элементов меню, которые можно было бы создавать
и держать вне mkimage. Тогда часть хардкода из mki-copy-efiboot ушла бы.

> Собственно, по такой логике mki-copy-efiboot и развивался
> -- сперва что-то базовое, затем "навороты".
> 
> Например, там и посейчас остался прибитый гвоздиком список
> языков для передачи lang=... в cmdline инсталятору/livecd.
> Задумка была сделать фичу l10n в mkimage-profiles, которая
> обеспечит включение нужных пакетов локализации (сейчас они
> гвоздиком же прибиты в различных дистрибутивных списках),
> возможно, станет влиять на %_install_langs и т.д.
> 
> Да, можно изобрести хоть include в mkimage и подтыкать
> генерируемые кусочки из профиля -- я бы такое делать
> "потому что могу" не стал, а только если будет нужно
> другим авторам профилей (в первую очередь Большакову).
> 
> 
> Тут, собственно, Антон скорее моими давними соображениями
> и руководствуется, когда делает/включает такие генераторы
> в mkimage-profiles, а не предлагает в mkimage: это больше
> головной боли, чем реюзабельной функциональности, и лучше
> бы её тащить в другие места или обобщать тогда, когда это
> окажется осмысленным.
> 
> Или вот поддержка memtest86.efi -- там примерно такая же
> петрушка: Большакову не нужно, я заморачивался ради rescue
> и дистрибутивов.
> 
> 
> В общем, тут по сути твоё решение о том, чем ты видишь mkimage --

mkimage это alt-specific инструмент для сборки образов в разных форматах.
В нём собраны сценарии не завязанные на конкретный альтовый дистрибутив.

Я совсем не против включать в mkimage новые востребованные сценарии. Вот
только новый функционал должен быть завершённым, чтобы следующий
ответственный за дистрибутив мог им воспользоваться.

> я считаю, что ужасам вроде даже моего mki-copy-efiboot (а с тех
> пор он, смотрю, ещё разросся) там не место, потому что такой код
> является _плохим_ примером, в отличие от твоего краткого.

Ну теперь-то уж он останется надолго.

> И что такие нужные, но некрасивые вещи лучше держать там же,
> где и горы других запчастей, нужных конкретно для альтовых
> дистрибутивов -- в том числе и чтобы не возлагать на тебя
> дополнительную нагрузку по вычитке и приёмке этого всего.

Я уверен, что из этих запчастей можно выделить обобщённую логику, которая
может быть полезна всем остальным. Если такое есть, то можно
стабилизировать и добавить в mkimage.

> Есть и прозаический момент по отладке: m-p правится в $HOME,
> mkimage -- или в /usr/share, или как boyarsh@ в своё время
> ухитрялся -- тоже в $HOME, но нетривиально (уже не помню, как);

`make MKLOCAL=1` ?

> --------------------------------------------------------------
> 
> По коммитам:
> 
> * Reformat -- руками или чем-нить вроде indent(1)?

Руками.

> * Refactor generation of refind submenu -- дифф глазами
>   нормально не разобрал, но сами функции после него
>   выглядят заметно чище, конечно
> 
> * Move code for ia32efi_flag=present in one place --
>   хорошо бы nickel@ проверил такую сборку, в Обнинске
>   вроде была IA32 EFI-машинка

Для этого я это в отдельный бранч и положил :)

> * Avoid using "type -t" in the posix code --
>   намотал на ус (но я на POSIX и не претендовал)
> 
> Другие фиксы тоже почитал, на один commit message
> предложу такой фикс:
> 
> -is already exists
> +already exists
> 
> -If the
> +If

Когда буду перекладывать исправлю. Спасибо!

Из кода mki-copy-efiboot-chrooted я не понял:

* Я не понял, что кладёшь в forensic_args и почему ты уверен, что
  syslinux/isolinux.cfg всегда есть.

* Почему для rescue нельзя делать submenuentry c lang= ?

* В чём логика [ "$n_stages" -ne 1 ] при выборе icon ?

* Зачем нужно делать copy_mt86 и потом purge_mt86. Ты же уже всё упаковал.
  Зачем удалять ?

* Я не понял манипуляций с "$efi/$shell". Ты сначала его копируешь в одно
  место, потом в другое, потом mcopy ...

Я ещё хочу подумать о том чтобы распилить mki-copy-efiboot на несколько
составных частей (shim, elilo, grub-efi, refind), которые будут
параметризованы, а mki-copy-efiboot будет их вызывать.

-- 
Rgrds, legion



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

* Re: [devel-distro] mki-copy-efiboot fixes
  2020-08-17 19:40   ` Alexey Gladkov
@ 2020-08-24 19:56     ` Alexey Gladkov
  2020-08-30 17:28       ` Michael Shigorin
  0 siblings, 1 reply; 12+ messages in thread
From: Alexey Gladkov @ 2020-08-24 19:56 UTC (permalink / raw)
  To: Distributions development

On Mon, Aug 17, 2020 at 09:40:45PM +0200, Alexey Gladkov wrote:
> On Mon, Aug 17, 2020 at 08:47:00PM +0300, Michael Shigorin wrote:
> > On Mon, Aug 17, 2020 at 06:56:19PM +0200, Alexey Gladkov wrote:
> > > Я зарефакторил mki-copy-efiboot. Теперь его будет проще
> > > поддерживать. Плюс я нашёл несколько небольших ошибок в нём.
> > > Заинтересованных прошу посмотреть.
> > 
> > Заинтересовался, посмотрел, по коммитам -- в конце письма.
> > 
> > > http://git.altlinux.org/people/legion/packages/mkimage.git?a=shortlog;h=refs/heads/dev
> > 
> > "А что, так можно было?!" (ц) ;-)

Вот готовое задание для тестирования:

http://git.altlinux.org/tasks/256735

-- 
Rgrds, legion



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

* Re: [devel-distro] mki-copy-efiboot fixes
  2020-08-24 19:56     ` Alexey Gladkov
@ 2020-08-30 17:28       ` Michael Shigorin
  2020-08-31 10:01         ` Alexey Gladkov
  0 siblings, 1 reply; 12+ messages in thread
From: Michael Shigorin @ 2020-08-30 17:28 UTC (permalink / raw)
  To: devel-distro

On Mon, Aug 24, 2020 at 09:56:42PM +0200, Alexey Gladkov wrote:
> Вот готовое задание для тестирования:
> http://git.altlinux.org/tasks/256735

Прошу прощения за свой косяк, недосмотрел ещё одну строчку
в tools.mk:

+CHROOT_COPY_E2KBOOT    ?= $(TOOLSDIR)/mki-copy-e2kboot

Касается _только_ e2k.

-- 
 ---- WBR, Michael Shigorin / http://altlinux.org
  ------ http://opennet.ru / http://anna-news.info


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

* Re: [devel-distro] mki-copy-efiboot fixes
  2020-08-30 17:28       ` Michael Shigorin
@ 2020-08-31 10:01         ` Alexey Gladkov
  2020-09-01 10:26           ` Michael Shigorin
  0 siblings, 1 reply; 12+ messages in thread
From: Alexey Gladkov @ 2020-08-31 10:01 UTC (permalink / raw)
  To: Distributions development

On Sun, Aug 30, 2020 at 08:28:02PM +0300, Michael Shigorin wrote:
> On Mon, Aug 24, 2020 at 09:56:42PM +0200, Alexey Gladkov wrote:
> > Вот готовое задание для тестирования:
> > http://git.altlinux.org/tasks/256735
> 
> Прошу прощения за свой косяк, недосмотрел ещё одну строчку
> в tools.mk:
> 
> +CHROOT_COPY_E2KBOOT    ?= $(TOOLSDIR)/mki-copy-e2kboot
> 
> Касается _только_ e2k.

Извини за долгую реакцию. Обновил задание:

http://git.altlinux.org/tasks/256735

-- 
Rgrds, legion



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

* Re: [devel-distro] mki-copy-efiboot fixes
  2020-08-31 10:01         ` Alexey Gladkov
@ 2020-09-01 10:26           ` Michael Shigorin
  2020-09-17 13:48             ` Nikolai Kostrigin
  0 siblings, 1 reply; 12+ messages in thread
From: Michael Shigorin @ 2020-09-01 10:26 UTC (permalink / raw)
  To: devel-distro

On Mon, Aug 31, 2020 at 12:01:41PM +0200, Alexey Gladkov wrote:
> > > Вот готовое задание для тестирования:
> > > http://git.altlinux.org/tasks/256735
> > Прошу прощения за свой косяк, недосмотрел ещё одну строчку
> > в tools.mk:
> > +CHROOT_COPY_E2KBOOT    ?= $(TOOLSDIR)/mki-copy-e2kboot
> > Касается _только_ e2k.
> Обновил задание:
> http://git.altlinux.org/tasks/256735

Ура, с этим всё хорошо :-)

Если больше никого не ждёшь -- предлагаю пускать в сизиф.

-- 
 ---- WBR, Michael Shigorin / http://altlinux.org
  ------ http://opennet.ru / http://anna-news.info


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

* Re: [devel-distro] mki-copy-efiboot fixes
  2020-08-17 16:56 [devel-distro] mki-copy-efiboot fixes Alexey Gladkov
  2020-08-17 17:47 ` Michael Shigorin
@ 2020-09-04 13:14 ` Michael Shigorin
  2020-09-08 18:45 ` Michael Shigorin
  2 siblings, 0 replies; 12+ messages in thread
From: Michael Shigorin @ 2020-09-04 13:14 UTC (permalink / raw)
  To: devel-distro

On Mon, Aug 17, 2020 at 06:56:19PM +0200, Alexey Gladkov wrote:
> Я зарефакторил mki-copy-efiboot. Теперь его будет проще поддерживать.
> http://git.altlinux.org/people/legion/packages/mkimage.git?a=shortlog;h=refs/heads/dev

Кстати, вспомнил ещё один вариант насчёт экранирования в heredoc:

cat >> файл << 'EOF'
$1 is `a bit`
EOF

(но тут не будет подсветки во встроенном скрипте,
по крайней мере мой vim так не умеет)

-- 
 ---- WBR, Michael Shigorin / http://altlinux.org
  ------ http://opennet.ru / http://anna-news.info


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

* Re: [devel-distro] mki-copy-efiboot fixes
  2020-08-17 16:56 [devel-distro] mki-copy-efiboot fixes Alexey Gladkov
  2020-08-17 17:47 ` Michael Shigorin
  2020-09-04 13:14 ` Michael Shigorin
@ 2020-09-08 18:45 ` Michael Shigorin
  2 siblings, 0 replies; 12+ messages in thread
From: Michael Shigorin @ 2020-09-08 18:45 UTC (permalink / raw)
  To: devel-distro

On Mon, Aug 17, 2020 at 06:56:19PM +0200, Alexey Gladkov wrote:
> Я зарефакторил mki-copy-efiboot. Теперь его будет проще
> поддерживать. Плюс я нашёл несколько небольших ошибок в нём.
> Заинтересованных прошу посмотреть.
> http://git.altlinux.org/people/legion/packages/mkimage.git?a=shortlog;h=refs/heads/dev

Возможно, стоит отключить автопоиск зависимостей в скрипте
tools/mki-copy-efiboot-chrooted -- convert вытаскивает
ImageMagick-tools и кучу графики на сервер:

Следующие НОВЫЕ пакеты будут установлены:
  ImageMagick-tools gsettings-desktop-schemas gsettings-desktop-schemas-data
  gtk-update-icon-cache icon-theme-hicolor libEGL libEGL-mesa libGL libGLX
  libGLX-mesa libImageMagick6.6 libX11 libX11-locales libXau libXcomposite
  libXcursor libXdamage libXdmcp libXext libXfixes libXft libXi libXinerama
  libXpm libXrandr libXrender libXt libXxf86vm libatk libatk-locales libavahi
  libcairo libcups libdrm libgbm libgd3 libgdk-pixbuf libgdk-pixbuf-locales
  libgio libglvnd libgraphviz libgs libgtk+2 libgtk+2-locales libgts libjasper
  libjbig libjpeg liblasi liblcms2 liblqr libopenjpeg2.0 libpango libpaper
  libpixman librsvg libtiff5 libwayland-client libwayland-server libwebp6
  libwmflite libxcb libxshmfence mkimage shared-mime-info

-- 
 ---- WBR, Michael Shigorin / http://altlinux.org
  ------ http://opennet.ru / http://anna-news.info


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

* Re: [devel-distro] mki-copy-efiboot fixes
  2020-09-01 10:26           ` Michael Shigorin
@ 2020-09-17 13:48             ` Nikolai Kostrigin
  2020-09-30  9:40               ` Alexey Gladkov
  0 siblings, 1 reply; 12+ messages in thread
From: Nikolai Kostrigin @ 2020-09-17 13:48 UTC (permalink / raw)
  To: devel-distro, Alexey Gladkov

[-- Attachment #1: Type: text/plain, Size: 797 bytes --]


01.09.2020 13:26, Michael Shigorin пишет:
> On Mon, Aug 31, 2020 at 12:01:41PM +0200, Alexey Gladkov wrote:
>>>> Вот готовое задание для тестирования:
>>>> http://git.altlinux.org/tasks/256735
>>> Прошу прощения за свой косяк, недосмотрел ещё одну строчку
>>> в tools.mk:
>>> +CHROOT_COPY_E2KBOOT    ?= $(TOOLSDIR)/mki-copy-e2kboot
>>> Касается _только_ e2k.
>> Обновил задание:
>> http://git.altlinux.org/tasks/256735
> Ура, с этим всё хорошо :-)
>
> Если больше никого не ждёшь -- предлагаю пускать в сизиф.
Предлагаю поправить еще пару мест, ломающих загрузку инсталлятора в
режиме EFI для x64 и ia32.
Вариант решения тут:
http://git.altlinux.org/people/nickel/packages/?p=mkimage.git;a=shortlog;h=refs/heads/fix_EFI_installer_configs

Или см. вложение.
>
-- 
Best regards,
Nikolai Kostrigin


[-- Attachment #2: 0001-mki-copy-efiboot-chrooted-remove-extra-slash-in-boot.patch --]
[-- Type: text/x-patch, Size: 1289 bytes --]

From c7a030288956f52f2070d95a9d17d14f608704ac Mon Sep 17 00:00:00 2001
From: Nikolai Kostrigin <nickel@altlinux.org>
Date: Thu, 17 Sep 2020 14:54:14 +0300
Subject: [PATCH 1/2] mki-copy-efiboot-chrooted: remove extra slash in
 bootloader path

Path starting with double slash, like:
//EFI/BOOT/<bootloader>.efi
confuses rEFInd making further boot impossible
---
 tools/mki-copy-efiboot-chrooted | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/tools/mki-copy-efiboot-chrooted b/tools/mki-copy-efiboot-chrooted
index 2075e8e..80b1887 100644
--- a/tools/mki-copy-efiboot-chrooted
+++ b/tools/mki-copy-efiboot-chrooted
@@ -293,7 +293,7 @@ refind_add_stage2()
 		case "$1" in
 			x64)
 				# ELILO used as SB trampoline for unsigned kernels
-				loader="/$boot/elilo.efi"
+				loader="$boot/elilo.efi"
 				# NB: -v seems critical, otherwise we hit this:
 				#     gzip_x86_64: invalid exec_header
 				options="-v -i full.cz vmlinuz `bootparams $root` $splash"
@@ -301,7 +301,7 @@ refind_add_stage2()
 			ia32)
 				# GRUB-EFI is used as SB trampoline for unsigned kernels
 				# for ia32 EFI on x86_64 platforms
-				loader="/$boot/grubia32_ldr.efi"
+				loader="$boot/grubia32_ldr.efi"
 				options=""
 				;;
 			*)
-- 
2.25.4


[-- Attachment #3: 0002-mki-copy-efiboot-chrooted-fix-label-variable-visibil.patch --]
[-- Type: text/x-patch, Size: 1738 bytes --]

From 23fd2ec24cd8a5e9d1685ffa448db55788e7b45a Mon Sep 17 00:00:00 2001
From: Nikolai Kostrigin <nickel@altlinux.org>
Date: Thu, 17 Sep 2020 15:11:10 +0300
Subject: [PATCH 2/2] mki-copy-efiboot-chrooted: fix label variable visibility
 scope

add_grub_cfg() being called from copy_refind() was broken due to
$label was not set in that scope causing "unbound variable" error

++ add_grub_cfg
++ cat
/.host/efiboot-chrooted: line 348: label: unbound variable
++ :
++ copy_kernel
---
 tools/mki-copy-efiboot-chrooted | 8 +++-----
 1 file changed, 3 insertions(+), 5 deletions(-)

diff --git a/tools/mki-copy-efiboot-chrooted b/tools/mki-copy-efiboot-chrooted
index 80b1887..a75a3b8 100644
--- a/tools/mki-copy-efiboot-chrooted
+++ b/tools/mki-copy-efiboot-chrooted
@@ -223,8 +223,6 @@ copy_grub()
 
 	cp $verbose -Lf /boot/grub/fonts/unicode.pf2 "$boot/fonts"
 	cp $verbose -Lf /boot/grub/unifont.pf2 "$boot"
-
-	# add_grub_cfg
 }
 
 refind_add_stage_submenu()
@@ -263,7 +261,7 @@ refind_add_stage_submenu()
 
 refind_add_stage2()
 {
-	local root icon splash label loader options
+	local root icon splash loader options
 
 	for root in $stage2; do
 		case "$root" in
@@ -369,7 +367,7 @@ refind_cfg_add_autodetect() {
 
 copy_refind()
 {
-	local refind_aux refind_boot refind_bootia32 refind_icons icon_format scan_icon
+	local label refind_aux refind_boot refind_bootia32 refind_icons icon_format scan_icon
 
 	refind_aux="$efi/refind"
 	refind_boot="$refind_aux/refind_x64.efi"
@@ -459,7 +457,7 @@ copy_refind()
 		REFIND_EOF
 	} > "$boot/refind_ia32.conf"
 
-	add_grub_cfg || :
+	add_grub_cfg
 }
 
 #find out if all bootloader stages have ia32 binaries in the package
-- 
2.25.4


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

* Re: [devel-distro] mki-copy-efiboot fixes
  2020-09-17 13:48             ` Nikolai Kostrigin
@ 2020-09-30  9:40               ` Alexey Gladkov
  2020-09-30 10:26                 ` Nikolai Kostrigin
  0 siblings, 1 reply; 12+ messages in thread
From: Alexey Gladkov @ 2020-09-30  9:40 UTC (permalink / raw)
  To: Nikolai Kostrigin; +Cc: devel-distro

On Thu, Sep 17, 2020 at 04:48:28PM +0300, Nikolai Kostrigin wrote:
> 
> 01.09.2020 13:26, Michael Shigorin пишет:
> > On Mon, Aug 31, 2020 at 12:01:41PM +0200, Alexey Gladkov wrote:
> >>>> Вот готовое задание для тестирования:
> >>>> http://git.altlinux.org/tasks/256735
> >>> Прошу прощения за свой косяк, недосмотрел ещё одну строчку
> >>> в tools.mk:
> >>> +CHROOT_COPY_E2KBOOT    ?= $(TOOLSDIR)/mki-copy-e2kboot
> >>> Касается _только_ e2k.
> >> Обновил задание:
> >> http://git.altlinux.org/tasks/256735
> > Ура, с этим всё хорошо :-)
> >
> > Если больше никого не ждёшь -- предлагаю пускать в сизиф.
> Предлагаю поправить еще пару мест, ломающих загрузку инсталлятора в
> режиме EFI для x64 и ia32.
> Вариант решения тут:
> http://git.altlinux.org/people/nickel/packages/?p=mkimage.git;a=shortlog;h=refs/heads/fix_EFI_installer_configs

Забрал и уже в сизифе.

-- 
Rgrds, legion



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

* Re: [devel-distro] mki-copy-efiboot fixes
  2020-09-30  9:40               ` Alexey Gladkov
@ 2020-09-30 10:26                 ` Nikolai Kostrigin
  0 siblings, 0 replies; 12+ messages in thread
From: Nikolai Kostrigin @ 2020-09-30 10:26 UTC (permalink / raw)
  To: Alexey Gladkov; +Cc: devel-distro


30.09.2020 12:40, Alexey Gladkov пишет:
> On Thu, Sep 17, 2020 at 04:48:28PM +0300, Nikolai Kostrigin wrote:
>> 01.09.2020 13:26, Michael Shigorin пишет:
>>> On Mon, Aug 31, 2020 at 12:01:41PM +0200, Alexey Gladkov wrote:
>>>>>> Вот готовое задание для тестирования:
>>>>>> http://git.altlinux.org/tasks/256735
>>>>> Прошу прощения за свой косяк, недосмотрел ещё одну строчку
>>>>> в tools.mk:
>>>>> +CHROOT_COPY_E2KBOOT    ?= $(TOOLSDIR)/mki-copy-e2kboot
>>>>> Касается _только_ e2k.
>>>> Обновил задание:
>>>> http://git.altlinux.org/tasks/256735
>>> Ура, с этим всё хорошо :-)
>>>
>>> Если больше никого не ждёшь -- предлагаю пускать в сизиф.
>> Предлагаю поправить еще пару мест, ломающих загрузку инсталлятора в
>> режиме EFI для x64 и ia32.
>> Вариант решения тут:
>> http://git.altlinux.org/people/nickel/packages/?p=mkimage.git;a=shortlog;h=refs/heads/fix_EFI_installer_configs
> Забрал и уже в сизифе.
>
>
Спасибо!
-- 

Best regards,
Nikolai Kostrigin



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

end of thread, other threads:[~2020-09-30 10:26 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-08-17 16:56 [devel-distro] mki-copy-efiboot fixes Alexey Gladkov
2020-08-17 17:47 ` Michael Shigorin
2020-08-17 19:40   ` Alexey Gladkov
2020-08-24 19:56     ` Alexey Gladkov
2020-08-30 17:28       ` Michael Shigorin
2020-08-31 10:01         ` Alexey Gladkov
2020-09-01 10:26           ` Michael Shigorin
2020-09-17 13:48             ` Nikolai Kostrigin
2020-09-30  9:40               ` Alexey Gladkov
2020-09-30 10:26                 ` Nikolai Kostrigin
2020-09-04 13:14 ` Michael Shigorin
2020-09-08 18:45 ` Michael Shigorin

ALT Linux Distributions development

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/devel-distro/0 devel-distro/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 devel-distro devel-distro/ http://lore.altlinux.org/devel-distro \
		devel-distro@lists.altlinux.org devel-distro@lists.altlinux.ru devel-distro@lists.altlinux.com
	public-inbox-index devel-distro

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.devel-distro


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git