Packaging Automation/Embedded Language/Repocop

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


repocop fixscripts

Скрипты для repocop необходимо называть как <имя теста>.pl. Скрипты ищутся в ./fixscripts/<имя теста>.pl и /usr/share/repocop/fixscripts/<имя теста>.pl

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