Gear/specsubst: различия между версиями

Материал из ALT Linux Wiki
м (minor wikification)
м (соответственно...)
Строка 18: Строка 18:
временный commit object, но и временный tag object, используя для
временный commit object, но и временный tag object, используя для
определения подстановочных переменных конфигурационные значения
определения подстановочных переменных конфигурационные значения
<tt>gear.specsubst.*</tt>
<tt>gear.specsubst.*</tt> (см. {{path|.git/config}} проекта); например:
 
  [gear "specsubst"]
          kflavour = un-def


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


Первыми пользователями <tt>specsubst</tt>, судя по всему, станут шаблоны модулей ядра
Первыми пользователями <tt>specsubst</tt> стали шаблоны модулей ядра
(см. тж. [http://www.altlinux.org/index.php?title=Git.alt/Справочник&diff=0&oldid=22016 task add kmodules]).
(см. тж. [http://www.altlinux.org/index.php?title=Git.alt/Справочник&diff=0&oldid=22016 task add kmodules]).



Версия от 15:09, 10 ноября 2014

В середине декабря 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).

Ссылки