• Michael Shigorin's avatar
    initial l10n feature · b5ff2b24
    Michael Shigorin authored
    Aimed at live images at first but should cover installers as well.
    
    This has been brewing for quite some time and while the proper
    implementation is considerably more complex (and hard to do)
    looks like there's demand for the particular important use case,
    namely LiveCDs for Russian users, so this code has been shared
    with a few people before merge.
    b5ff2b24
features.txt 3.14 KB
== Фичи ==

Особенности дистрибутива, не учитываемые в пакетной базе
или зависящие от переменных времени сборки/установки образа;
по необходимости влияют на конфигурацию, приносят с собой
или запрашивают скрипты, которые могут быть оформлены как:

* scripts.d/ или image-scripts.d/ различных стадий;
* пакеты installer-feature-*
  (тж. http://www.altlinux.org/Installer/beans).

В большинстве случаев можно рекомендовать создание feature
средствами метапрофиля, поскольку при этом дерево кода более
удобно для анализа и обновления (и в отличие от _m-p-d_ -- нет
вынужденной необходимости либо контролировать включение нужных
фич "вручную" в скриптах по косвенным признакам, либо выносить
их в пакеты installer-feature-*); также возможно добиться большей
степени интеграции по данным (например, язык gfxboot и LiveCD).

Создание и упаковку installer-feature-* можно рекомендовать, если:

* необходимы пакетные зависимости (в т.ч. версии/конфликты);
* требуется компилируемый платформозависимый код (для чего бы...);
* код фичи достаточно специфичен, нетривиален и объёмен,
  чтобы загромождать метапрофиль было не очень осмысленно;
* фича представляет из себя отдельный мини-продукт, над которым
  ведётся активная работа (возможно, несколькими людьми).

Стоит избегать изменения пакетных умолчаний в случае, когда их
представляется осмысленным и возможным скорректировать в пакете:
таким образом они станут более дистрибутивными.

Обратите внимание, что фичи включаются в комплект инкрементально:
что добавили, то уже не убрать; поэтому при необходимости следует
выделять промежуточные цели сборки, собирающие необходимые фичи
и оставляющие те, по которым есть расхождения, на включение ближе
к конечной дистрибутивной цели.

Соглашение по именованию таково, что цели use/ФИЧА и use/ФИЧА/...
определяются в файле features.in/ФИЧА/config.mk и только в нём.