On Wed, Aug 01, 2012 at 11:01:19PM +0300, Michael Shigorin wrote: MS> Осталось понять, как ныне полученные частные случаи обобщить MS> и как меняется декомпозиция _нынешней_ задачи относительно MS> той, которую было сделал. Пока торможу. Я предполагаю что у нас есть группа вариантов target'а где нет никакого инсталлера. Это ve, vm, live, и те самые образы для текстового инсталлятора. Всех их объединяет тот факт, что некоторая группа пакетов ставится в чрут, а дальше мы что-то с ней делаем дополнительно. Притом это "дополнительно", в принципе, для всех ve, vm и live обычно идентичны с небольшими необязательными различиями (то есть можно это описать template'ом). Посему есть смысл сделать некий промежуточный target, который предназначен исключительно для формирования base package list. И уже все остальное наследовать от этих package list targets. В стиле: packages/.server-base: @$(call add,BASE_LISTS,server-base openssh) packages/server-mini: packages/.server-base use/cleanup/x11-alterator use/bootloader/lilo @$(call add,BASE_LISTS,$(call tags,server network)) @$(call add,BASE_PACKAGES,dhcpcd cpio) use/kernel: # здесь мы в BASE_PACKAGES добавляем ядро с нужным flavour distro/server-mini: packages/server-mini distro/.installer use/syslinux/ui/menu use/memtest use/kernel # здесь написать необходимое для того чтобы сюда попал именно # нужный kernel ve/server-mini: packages/server-mini ve/base vm/server-mini: packages/server-mini vm/base # а так как многое тут явно может повторяться, то пишем: ve/%: packages/% ve/base vm/%: packages/% vm/base -- С уважением, Денис http://mithraen.ru/ ----------------------------------------------------------------------------