Packaging Automation/Embedded Language/Repocop
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