Gear/specsubst: различия между версиями
Real (обсуждение | вклад) (Gear/specsubst) |
Real (обсуждение | вклад) (fix Category) |
||
Строка 33: | Строка 33: | ||
* [[Руководство по gear]] | * [[Руководство по gear]] | ||
{{Category navigation|title=Gear/specsubst|category=Gear | {{Category navigation|title=Gear/specsubst|category=Gear|sortkey=*}} |
Версия от 06:34, 18 декабря 2012
Цитата:
http://lists.altlinux.org/pipermail/devel/2012-December/196170.html
На прошлой неделе, по мотивам идеи Саши Бокового (см. https://bugzilla.altlinux.org/show_bug.cgi?id=20912) в gear была реализована возможность управляемым и воспроизводимым образом экспортировать различные варианты исходного кода из одного и того же коммита.
Этот эффект достигается путем подстановки в спек-файле @переменных@, заданных в новой директиве "specsubst:", в соответствии с определением переменных в тэге, из которого производится экспорт исходного кода.
При использовании specsubst коммит фактически превращается в шаблон, не предназначенный для непосредственной сборки, но из которого с помощью тэга можно получить реализацию шаблона, которую уже можно собирать.
Новая функциональность активируется только при условии использования specsubst, что гарантирует полную обратную совместимость.
При использовании specsubst команда gear --commit создает не только временный commit object, но и временный tag object, используя для определения подстановочных переменных конфигурационные значения gear.specsubst.*
Синтаксис новой директивы и формат описания подстановочных переменных в тэге приведен в gear-rules(5).
Первыми пользователями specsubst, судя по всему, станут шаблоны модулей ядра.