You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
mkimage-profiles-kometa/doc/assumptions.txt

56 lines
3.8 KiB

3 years ago
== Предположения ==
Некоторые фрагменты кода закладываются на определённое поведение
других частей mkimage-profiles либо содержание переменных.
NB: пути приводятся от верхнего уровня; проект в целом предполагает
наличие ALT 8.0+ и GNU make 3.82+ (на которых и разрабатывается),
но может быть портирован вместе с mkimage. Если что-либо не работает
или не собирается, стоит проверить на Sisyphus (mkimage, make, hasher,
собственно пакетная база), поскольку именно на нём происходит основная
разработка mkimage-profiles. Сломанная сборка на текущем стабильном
бранче считается ошибкой и подлежит исправлению, если оно технически
возможно на базе этого бранча.
* lib/report.mk
** ожидает, что каждая подлежащая трассированию цель каждого
makefile при сборке конфигурации образа содержит непустой
recipe -- хотя бы "; @:" -- т.к. зависит от запуска $(SHELL)
** трассировка выполняется при REPORT=1 для формирования графа
зависимостей между промежуточными целями сборки конечного образа
** характерный признак пропуска -- разрыв графа (report-targets.png)
* pkg.in/lists/Makefile
** ожидает, что названия списков пакетов указываются в переменных
вида *_LISTS, и копирует в генерируемый профиль только их
** если задать имя файла списка пакетов непосредственно в Makefile
субпрофиля, он не будет скопирован
** характерное сообщение об ошибке:
E: Couldn't find package
* features.in/kernel/stage1/scripts.d/80-make-initrd
* features.in/stage2/stage1/scripts.d/03-test-kernel
* sub.in/stage1/Makefile
** если используется загрузчик отличный от grub, то в stage1 попадёт
последнее ядро, указанное в STAGE1_KFLAVOURS или KFLAVOURS
** если добавить какой-либо kernel-image в STAGE1_PACKAGES*,
результат может быть неожиданным
** обратите внимание: bin/tar2fs умеет несколько ядер
** вероятная ошибка: незагрузка полученного squashfs
* features.in/install2/install2/stage2cfg.mk
* features.in/live/live/stage2cfg.mk
* features.in/rescue/rescue/stage2cfg.mk
* features.in/syslinux/cfg.in/15live.cfg
* features.in/syslinux/cfg.in/20install2.cfg
* features.in/syslinux/cfg.in/80rescue.cfg
* features.in/syslinux/scripts.d/20-propagator-ramdisk
** ожидают, что названия squashfs-образов второй стадии инсталятора,
livecd и спасательной системы соответственно altinst, live и rescue
* image.in/Makefile
** ожидает, что конфигурация будет в distcfg.mk (см. тж. lib/profile.mk),
а лог сборки -- в build.log (см. тж. lib/log.mk); альтернативой было
бы пробрасывание переменных с полным путём ради единственного места