[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