Packaging Automation/Embedded Language/Repocop: различия между версиями

Материал из ALT Linux Wiki
(Новая страница: «Категория:Справочники {{Category navigation|title=Автоматизация работы с пакетами|category=Packaging Automation}}...»)
 
Строка 5: Строка 5:


== repocop fixscripts ==
== repocop fixscripts ==
=== repocop fixscripts syntax ===


=== repocop fixscripts syntax ===
Скрипты для repocop пишутся точно так же, как общие скрипты для RPM::Source::Editor, описанные в [[Packaging Automation/Embedded Language]].
В частности, общие скрипты для RPM::Source::Editor можно напрямую использовать в качестве скриптов для repocop.
Специфика скриптов для repocop в том, что в качестве третьего аргумента в скрипт передается имя подпакета,
на который сработал тест. Скрипт может использовать третий аргумент с именем подпакета для того, чтобы ограничить свои изменения только указанным подпакетом.


  push @SPECHOOKS,  
  push @SPECHOOKS,  
Строка 13: Строка 17:
  };
  };


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


=== packaging ===
=== packaging ===

Версия от 22:12, 9 ноября 2011


repocop fixscripts

repocop fixscripts syntax

Скрипты для repocop пишутся точно так же, как общие скрипты для RPM::Source::Editor, описанные в Packaging Automation/Embedded Language. В частности, общие скрипты для RPM::Source::Editor можно напрямую использовать в качестве скриптов для repocop. Специфика скриптов для repocop в том, что в качестве третьего аргумента в скрипт передается имя подпакета, на который сработал тест. Скрипт может использовать третий аргумент с именем подпакета для того, чтобы ограничить свои изменения только указанным подпакетом.

push @SPECHOOKS, 
sub {
   my ($spec, $parent, $pkg) = @_;
};

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

packaging

скрипт, связанный с тестом, должен быть упакован как

/usr/share/repocop/fixscripts/<имя теста>.pl