Bug 32635

Summary: Зависимости между компонентами неупорядочены
Product: Sisyphus Reporter: Sergey V Turchin <zerg>
Component: cross-componentAssignee: Dmitry V. Levin <ldv>
Status: CLOSED LATER QA Contact: Dmitry V. Levin <ldv>
Severity: normal    
Priority: P3 CC: cas, zerg
Version: unstable   
Hardware: all   
OS: Linux   
Attachments:
Description Flags
kworkstation.mk
none
поменял порядок строк (патч проверен) none

Description Sergey V Turchin 2016-10-19 12:09:38 MSK
Created attachment 6839 [details]
kworkstation.mk

В distro/kworkstation-live несмотря на даже явный use/syslinux/ui/gfxboot в isolinux.cfg прописывается текстовое меню вместо графического. При этом в distro/kworkstation всё ок.
Comment 1 Sergey V Turchin 2016-10-19 12:30:28 MSK
(В ответ на комментарий №0)
> kworkstation.mk
Остальное в http://git.altlinux.org/people/zerg/packages/?p=mkimage-profiles-kworkstation.git;a=tree;h=refs/heads/kworkstation-master
Comment 2 Michael Shigorin 2016-10-20 13:55:20 MSK
В p8 m-p надо бы тоже обновить (пока не разъезжалось), но наработки/исправления идут сперва в сизиф.
Comment 3 Sergey V Turchin 2016-10-20 14:11:48 MSK
Не так уж важно, откуда и куда идут сперва. Главное, чтоб в p8 пришли.
Comment 4 Sergey V Turchin 2016-10-23 20:45:02 MSK
(В ответ на комментарий №0)
> Created an attachment (id=6839) [details]
> kworkstation.mk
Сейчас уже запушен текущий вариант.
Comment 5 Michael Shigorin 2016-11-17 18:49:25 MSK
Разобрался (быстрей было бы с REPORT=1 и build/targets.dot):
у тебя mixin/kworkstation-common-deps сперва дёргает use/syslinux/ui/gfxboot,
а потом -- более базовую use/live/x11, где цепочка зависимостей выглядит так:
use/live/x11 -> use/live/base -> use/live/.base -> use/syslinux/ui/menu

Решение -- поставить кобылу впереди телеги, бишь поднять строчку с use/live* выше строчки с use/syslinux/ui/gfxboot

В mkimage-profiles здесь проблема в том, что make каждой цели достигает лишь единожды, успешно достигнутая цель далее игнорируется.  Раньше на это напарывались в основном при конфигурировании загрузчика, что и документируется в features.in/bootloader/README

А так это баг в mkimage-profiles-kworkstation
Comment 6 Sergey V Turchin 2016-11-18 12:13:47 MSK
(В ответ на комментарий №5)
> Решение -- поставить кобылу впереди телеги, бишь поднять строчку с use/live*
> выше строчки с use/syslinux/ui/gfxboot
Разбираться, кто на ком стоял -- проблема mkimage-profiles.
Comment 7 Michael Shigorin 2016-11-18 12:59:15 MSK
Created attachment 6869 [details]
поменял порядок строк (патч проверен)

Ещё раз: вследствие ограничений использованного инструментария (make) есть такая особенность mkimage-profiles; можно написать свой DSL (как давно предлагает Чеусов), но у такого подхода свои проблемы -- начиная с необходимости разучивать как минимум синтаксис ещё одного языка.

Напарываются на него крайне редко, видимо, потому, что в основном народ тоже строит дома с фундамента, а не с крыши ;-)
Comment 8 Sergey V Turchin 2016-11-18 14:06:39 MSK
(В ответ на комментарий №7)
> Напарываются на него крайне редко, видимо, потому, что в основном народ тоже
> строит дома с фундамента, а не с крыши ;-)
Это потому, что черепицу сложно спутать с кирпичом. ;-)
Comment 9 Sergey V Turchin 2016-11-18 17:11:47 MSK
(В ответ на комментарий №7)
> Created an attachment (id=6869) [details]
> поменял порядок строк (патч проверен)
Спасибо, работает!
Comment 10 AEN 2016-11-18 17:19:24 MSK
(In reply to comment #9)
> (В ответ на комментарий №7)
> > Created an attachment (id=6869) [details] [details]
> > поменял порядок строк (патч проверен)
> Спасибо, работает!

Ну, если так, --  тогда закрывайте.
Comment 11 Sergey V Turchin 2016-11-18 17:59:58 MSK
(В ответ на комментарий №10)
> Ну, если так, --  тогда закрывайте.
Это не исправление, а обход. Но уже не блокер.
Comment 12 Sergey V Turchin 2016-11-22 12:18:43 MSK
Переименую, пожалуй.
Comment 13 Michael Shigorin 2016-11-22 14:22:10 MSK
(В ответ на комментарий №12)
> Переименую, пожалуй.
Значит, ты всё же не понял comment 7. :(

---
Обратите внимание: в процессе конфигурирования дистрибутива
"переключение" загрузчика может происходить только в одну сторону
-- если выставлен grub, произведено переключение на lilo и затем
произведена ещё одна попытка переключения на grub, то в конфигурации
останется lilo как последняя "новая" цель с точки зрения make.

При необходимости всё-таки "пересилить" последнее изменение можно

        @$(call set,BASE_BOOTLOADER,grub_или_lilo)
--- features.in/bootloader/README
Comment 14 Sergey V Turchin 2016-11-22 14:38:15 MSK
Не надо менять заголовок "Зависимости между компонентами не строятся должным образом".

Для этого бага без разницы, кто кого посещает и зачем. Если make не подходит, нужно задействовать кого-то другого. Вариант с сортировкой произвольных определений головой считаю неприемлемым.

P.S.
Ты создал эти определения и единственный знаешь все их зависимости. Бегать постоянно по куче Makefile-ов и смотреть, кто на ком стоял меня и без этого уже достало.
Comment 15 Michael Shigorin 2016-11-22 14:50:20 MSK
Зерг, не ломай заголовок, по нему потом ничего не понять будет при отсмотре.  Когда человеку дважды объяснили, а он продолжает упорствовать в непонимании -- это немного напрягает уже.

Проблема известна и спор не о ней.  Если ты раньше меня придумаешь хороший выход -- отлично, сделай новый проект.  В рамках этого проекта и его базового инструментария это не решается, по крайней мере очевидным для меня образом.

А бегаю по зависимостям точно так же, как и другие -- не в голове же держать.
Comment 16 Sergey V Turchin 2016-11-22 15:10:11 MSK
(В ответ на комментарий №15)
Майк, не ломай заголовок. Я повесил баг и мне виднее.

Если у тебя другая точка зрения, изложи в другом баге и сделай зависимость у этого на новый.
Comment 17 Michael Shigorin 2016-11-22 18:23:56 MSK
(В ответ на комментарий №16)
> Я повесил баг и мне виднее.
Раз тебе виднее, ты с ним и сиди, а я пошёл.
Comment 18 Sergey V Turchin 2016-11-22 18:57:04 MSK
Слив засчитан.