[Moscow.pm] Где и как прописывать зависимости

Akzhan Abdulin akzhan.abdulin на gmail.com
Пт Фев 12 04:53:00 PST 2010


У нас в одной компании использовался ExtUtils::MakeMaker.
Потом начали использовать Module::Build.

До изучения Module::Install руки банально не дошли.

При этом использовался скрипт обновления зависимостей, который пробегался по
всем pl/pm-скриптам, выбирал оттуда строки вида require, use base, и
формировал набор зависимостей.

Позднее он был доработан для автоматического формирования набора
зависимостей от портов FreeBSD (а также создания набора файлов для генерации
порта).


12 февраля 2010 г. 15:45 пользователь Иван Бессарабов
<ivan на bessarabov.ru>написал:

> Привет!
>
> Очень хочется найти хороший способ прописывать в единственном месте
> все модули на которых построен проект.
>
> Сейчас смотрю на  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
> moscow-pm на pm.org | http://moscow.pm.org
>
----------- следущая часть -----------
Вложение в формате HTML было извлечено&hellip;
URL: <http://mail.pm.org/pipermail/moscow-pm/attachments/20100212/45b67287/attachment.html>


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