Mkimage-profiles/style
Рекомендации по стилю mkimage-profiles
строгое обращение с потоками данных
Желательно направление движения значений переменных и действий короткими шагами «сверху вниз» — без выдёргивания значений из соседних каталогов или путешествий сверху в самый низ различным образом).
Построение списков пакетов «на лету» обдумывается, но не подобными хаками, а скорее такими (см. создание .base; также реализована выборка пакаджлистов по произвольным булевым выражениям, включающим теги).
унификация
Крайне желательно неразведение зоопарка аналогов (например, методов макроподстановки). Если вводятся новые практики или концепции, лучше предварительно обсудить задумку или реализацию в своём бранче next до того, как на новосделанное будет завязано много ценного. Если возникают конфликты мнений — давайте постараемся их разрешать, а не форкаться без планов на мерж.
повторное использование вместо дублирования
Если совсем какая-то специфика, но может пригодиться и другим (косясь на mithraen@ и asterisk-1.6.[012] в m-p-d) — может иметь смысл завести «свой» namespace для списков/фич.
построение вместо урезания
При возможности следует выбирать подход «построить из нужного», чем «добавить всякое и выбросить ненужное»: он гораздо лучше ложится на идею mkimage-profiles (создание из кусочков и минимизация непрозрачных хаков). Это позволяет надеяться на трассируемость процесса построения дистрибутива.
Вынужденным исключением на сейчас являются:
- фича install2 с зачисткой излишних модулей ядра и файлов в компактном livecd-корне инсталятора;
- фича cleanup, подготавливающая постинсталяционную зачистку лишних пакетов в свежеустановленной системе.