[devel] [#56408] DONE (try 52) perl.git=5.14.2-alt1 srpm=perl-Filter-1.39-alt1.src.rpm ...

Igor Vlasenko vlasenko на imath.kiev.ua
Ср Окт 26 19:14:52 MSK 2011


On Wed, Oct 26, 2011 at 09:57:05PM +0300, Igor Vlasenko wrote:

Неудачно рассказал, неправильно.

хуки предназначены для "эфмерного" кода, который всегда
сиюминутный и на скорую руку.
Надо провести NMU - добавить в спекфайлы _unpackaged_files_terminate_build,
или зависимость убрать, или заменить путь макрос --
написали хук на 5 строчек, провели NMU, хук выбросили.

А для повторно используемого кода - конечно, модули.
Например, утилита srpmbackport -- frontend к модулю ALTLinuxBackport.pm,
который насдедуется от модуля Transform.pm утилиты srpmnmu.

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


> On Wed, Oct 26, 2011 at 10:14:20PM +0400, thecrux на gmail.com wrote:
> > Система хуков в таком виде смахивает на костыли и непонятно как её,
> > например, опакетить.
> Хорошее замечание.
> Например, хуки для репокопа я пакетил в
> /usr/share/repocop/fixscripts.
> 
> Для общих хуков можно выделить что-то вроде 
> /usr/share/srpmutils/hooks
> 
> > Гораздо логичнее выглядит система плагинов, расширяющая функционал
> > базового модуля. Подключая нужный плагин, получаешь нужный результат.
> > Тесты для таких плагинов писать будет значительно проще и паковать в
> > виде обычных perl-пакетов.
> 
> Хук, вообще говоря, и есть простейший плагин, загружаемый через requires;
> Если попытаться по-другому, в итоге выходит 
> слишком много букф.
> Ведь плагин надо как-то инициализировать, и вызвать.
> 
> у хука на это уходит 3 строчки, 55 символов.
> -----------------------
> push @SPECHOOKS, sub {
>     my ($spec,$parent) = @_;
> };
> -----------------------
> Остальное уже полезный код.
> 
> С другой стороны, есть и тяжелый код, который логично
> размещать в отдельных модулях.
> Хочу для такого зарезервировать namespace
> RPM::Source::Tools::*
> 
> Пока там только RPM::Source::Tools::Uupdate.pm

-- 

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