From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.2.5 (2008-06-10) on sa.int.altlinux.org X-Spam-Level: X-Spam-Status: No, score=-1.2 required=5.0 tests=AWL,BAYES_00, DNS_FROM_OPENWHOIS, RCVD_IN_SORBS_WEB, SPF_PASS autolearn=no version=3.2.5 Date: Wed, 26 Oct 2011 22:14:52 +0300 From: Igor Vlasenko To: ALT Linux Team development discussions Message-ID: <20111026191452.GA23789@dad.imath.kiev.ua> References: <20111024073821.GA32650@ssh.git.altlinux.org> <20111024223629.GJ7975@altlinux.org> <20111026165657.GA21060@dad.imath.kiev.ua> <20111026181420.GA8965@mail.truecrux.org> <20111026185705.GA23459@dad.imath.kiev.ua> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20111026185705.GA23459@dad.imath.kiev.ua> User-Agent: Mutt/1.5.21 (2010-09-15) X-imath-kiev-ua-MailScanner-Information: Please contact the ISP for more information X-imath-kiev-ua-MailScanner-ID: 8BD314B01D4.AF168 X-imath-kiev-ua-MailScanner: Found to be clean X-imath-kiev-ua-MailScanner-From: vlasenko@imath.kiev.ua Cc: thecrux@gmail.com Subject: Re: [devel] [#56408] DONE (try 52) perl.git=5.14.2-alt1 srpm=perl-Filter-1.39-alt1.src.rpm ... X-BeenThere: devel@lists.altlinux.org X-Mailman-Version: 2.1.12 Precedence: list Reply-To: ALT Linux Team development discussions List-Id: ALT Linux Team development discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 26 Oct 2011 19:14:59 -0000 Archived-At: List-Archive: List-Post: 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.