[devel] perl-* NMU [was: I: Sisyphus-20081005 REBUILD i586 status]

Igor Vlasenko =?iso-8859-1?q?vlasenko_=CE=C1_imath=2Ekiev=2Eua?=
Вт Окт 7 11:11:40 MSD 2008


On Mon, Oct 06, 2008 at 10:17:42PM +0300, Igor Vlasenko wrote:
> > Так что я не против выдачи Вам NMU на мои perl-*.
> Тогда просим уважаемый imcoming@ выдать NMU 
[list skipped] 

Итоги - 72 (70?) из 76 пакетов в Сизифе,
1 не прошел тесты, у 3 build unmets.

Фокус прошел, теперь займемся разоблачением :)

код у меня в RPM-Source-Editor.git,

пакеты сгенерировались такой командой (в IN лежали оригинальные пакеты):

mkdir OUT
for i in IN/*; do ./nmu --packager 'Michael Bochkaryov <misha на altlinux.ru>' --hook /path/to/RPM-Source-Editor.git/hooks/perl-check.pl --rpm $i --out OUT; done

скрипт nmu общего плана, он увеличивает релиз, устанавливает
Packager (если его нет), add changelog.

Сами команды редактирования содержатся в hooks/perl-check.pl.

./nmu и hooks -- Это как ракета и боеголовка.

в RPM-Source-Editor есть обьекты для спека и секции, и 
различные команды для манипуляции их содержимым.
Эти обьекты ./nmu передает в hooks.

API, похоже, стабилизируется, так что можно понемногу 
популяризовывать. Код перловый.

hooks/perl-check.pl:
push @SPECHOOKS, 
sub  {
    my ($spec) = @_;
    my $buildarch=$spec->get_section('package','')->get_tag('BuildArch');
    if (!$buildarch) { # it looks like arch
	foreach my $section ($spec->get_sections()) {
	    if ($section->get_type() eq 'files') {
		$section->subst(qr'\%perl_vendor_privlib','%perl_vendor_archlib');
	    }
	}
    } elsif ($buildarch eq 'noarch') {
	foreach my $section ($spec->get_sections()) {
	    if ($section->get_type() eq 'files') {
		$section->push_body('%exclude %perl_vendor_archlib'."\n");
	    }
	}
    } else {
	die "TODO: arch $arch!";
    }
};


-- 

Dr. Igor Vlasenko
--------------------
Topology Department
Institute of Math
Kiev, Ukraine


-- 
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.




Подробная информация о списке рассылки Devel