[Moscow.pm] Установка модуля.

Orlovsky Alexander nordicdyno на yandex.ru
Вт Авг 26 08:32:59 PDT 2008


Здравствуйте, уважаемые Perl монгеры.
Изучаю создание Perl модулей. Смотрю разные модули на CPAN, которые помогают в этом деле: посмотрел MakeMaker и сейчас смотрю Module::Install (правда про этот модуль читал, что он еще недостаточно стабилен). Module::Install нравится тем, что умеет ставить зависимости из CPAN. (Возможно в MakeMaker тоже можно как то это сделать, но я не умею)

Чего мне хочется. Я хочу создать локальный дистрибутив, при сборке и установке которого тянутся и собираются все CPAN-зависимости (и возможно не только cpan, но это уже следующий этап).
А сам модуль ставится в некий локальный каталог (не трогая никакие системные папки).
Есть пара простых вроде бы на первый взгляд вопросов, но ответы на которые я пока не нашел. (Возможно слишком много информации сразу :)
Итак, вопросы.

1. Для того чтобы установить модуль в заданную папку (make install) можно сказать perl Makefile.PL PREFIX=/mydir .
А что нужно прописать в Makefile.PL, чтобы при условии, если PREFIX не указан, установка по умолчанию производилась в /mydir? 

(В MakeMaker-е можно задать пути в параметрах WriteMakefile(), но это тоже не очень хорошо, т.к. если будет задан PREFIX? то он наверное будет проигнорирован)

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

make uninstall 
выдает такое:

Uninstall is unsafe and deprecated, the uninstallation was not performed.
We will show what would have been done.

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
ERROR: no packlist file found: '/usr/lib/perl5/site_perl/5.8.8/i386-linux-thread-multi/auto/MyACME/Module/.packlist'
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
make: *** [uninstall_from_sitedirs] Error 2

shell returned 2

наверное лучше всего написать свое правило.. подскажите как? :)


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