cb764516eb
The problem was spotted by Alexander Bandura: bin/tar2vm wasn't present in the generated profile. I considered extending features.in/Makefile to include bin/ alongside lib/ but that would make the helper's location unpredictable (unless BUILDDIR is specified explicitly) so restricting sudoers would be harder; worse yet, the copied file would come with write access for the user building an image. The implications in restricted case are complex enough anyways so the recommended implementation would only include a fixed readonly location like /usr/share/mkimage-profiles/bin/tar2vm as laid out in doc/vm.txt, and that means it's in the metaprofile not a generated profile.
Этот каталог содержит т.н. фичи (features, особенности) -- каталоги, содержимое каждого из которых реализует одну из подключаемых автономных возможностей образа. Каждая фича должна содержать задействуемый при построении конфигурации будущего образа файл config.mk, включаемый в ../main.mk; он может описывать одну или более целей вида use/*, дополняющих конфигурацию, и при наличии дополнительных хуков для копирования или generate.* обязан добавить имя фичи в $(FEATURES), для чего создана функция add_feature без аргументов. На этапе генерации сборочного профиля фичи рассматриваются после инициализации профиля (см. ../image.in/) и копирования субпрофилей (см. ../sub.in/). Для каждой фичи, указанной в $(FEATURES), копируются подкаталоги сообразно субпрофилям, а также производится обработка {image-,}scripts.d/; затем выполняется скрипт generate.sh и задействуется generate.mk (при их наличии). Если фича дополняет хуками семейство целевых субпрофилей, построенных на одном базовом, можно воспользоваться подкаталогом с именем исходного базового субпрофиля (см. $src, $dst в Makefile). Наиболее употребительные цели можно снабжать "ярлычками" вроде "+icewm" с тем, чтобы сделать более краткими и выразительными использующие их правила. Просьба не злоупотреблять количеством. Каталог lib/ является специфическим для фич, определяющих построение конкретного вида образа -- см. build-*/. Несложный пример содержится в 00example/, более близкий к жизни и нынешним пределам возможностей метапрофиля -- в syslinux/.