Gear/specsubst

Материал из ALT Linux Wiki

В середине декабря 2012 по мотивам идеи Саши Бокового в gear была реализована возможность управляемым и воспроизводимым образом экспортировать различные варианты исходного кода из одного и того же коммита.

Этот эффект достигается путем подстановки в спек-файле @переменных@, заданных в новой директиве specsubst:, в соответствии с определением переменных в тэге, из которого производится экспорт исходного кода.

При использовании specsubst коммит фактически превращается в шаблон, не предназначенный для непосредственной сборки, но из которого с помощью тэга можно получить реализацию шаблона, которую уже можно собирать.

Новая функциональность активируется только при условии использования specsubst, что гарантирует полную обратную совместимость.

При использовании specsubst команда gear --commit создает не только временный commit object, но и временный tag object, используя для определения подстановочных переменных конфигурационные значения gear.specsubst.* (см. .git/config проекта); например:

 [gear "specsubst"]
         kflavour = un-def

Синтаксис новой директивы и формат описания подстановочных переменных в тэге приведен в gear-rules(5).

Первыми пользователями specsubst стали шаблоны модулей ядра (см. тж. task add kmodules).

Ссылки