У нас в одной компании использовался ExtUtils::MakeMaker. Потом начали использовать Module::Build.
До изучения Module::Install руки банально не дошли. При этом использовался скрипт обновления зависимостей, который пробегался по всем pl/pm-скриптам, выбирал оттуда строки вида require, use base, и формировал набор зависимостей. Позднее он был доработан для автоматического формирования набора зависимостей от портов FreeBSD (а также создания набора файлов для генерации порта). 12 февраля 2010 г. 15:45 пользователь Иван Бессарабов <[email protected]>написал: > Привет! > > Очень хочется найти хороший способ прописывать в единственном месте > все модули на которых построен проект. > > Сейчас смотрю на Module::Install ( > http://search.cpan.org/~adamk/Module-Install-0.93/lib/Module/Install.pod > ) (Спасибо глобусу за то что показал эту штуку =) > > Получается достаточно красиво. Пишешь файл Makefile.PL: > > {{{ > use inc::Module::Install; > > name 'JustTesting'; > license 'perl'; > requires 'XML::Simple'; > requires 'Geo::IP::RU::IpGeoBase'; > auto_install; > WriteAll; > }}} > > Дальше делаешь > {{{ > perl Makefile.PL > sudo make > }}} > > и он все ставит. Все отлично кроме нескольких моментов: при этом > создается куча файлов. Можно сказать "make clean" и он немного за > собой почистит, но все равно останутся следующие файлы: > {{{ > . > |-- META.yml > |-- Makefile.old > `-- inc > `-- Module > |-- AutoInstall.pm > |-- Install > | |-- AutoInstall.pm > | |-- Base.pm > | |-- Include.pm > | `-- Metadata.pm > `-- Install.pm > }}} > > В связи с этим у меня есть вопросы: > 1. Правильный ли я инструмент использую, может быть все это делается > гораздо проще и лучше > 2. Что делать с файлами которые остались после perl Makefile.PL ? > > PS вообще, конечно, есть соблазн просто написать файл install_dep.sh > следующего содержания: > {{{ > cpan -i XML::Simple Geo::IP::RU::IpGeoBase > }}} > > =) > -- > Moscow.pm mailing list > [email protected] | http://moscow.pm.org >
-- Moscow.pm mailing list [email protected] | http://moscow.pm.org
