On Thu, Jun 28, 2007 at 03:21:28AM +0700, Slava Semushin wrote: > Здравствуйте! > > Во время сборки swatch вижу следующее сообщение: > > warning: Installed (but unpackaged) file(s) found: > /.perl.req > > При этом сборка установка программы сводится к следующему: > > %build > %perl_vendor_build > > %install > %perl_vendor_install > > Кто-то из этих макросов создаёт этот файл и не удаляет его. > > Вопросов несколько: > - Что это за файл и зачем он нужен? > - Что с ним делать: удалять, включать в пакет, игнорировать? Это левый файл, на которые не следует обращать внимания. Он нужен примерно вот зачем. В Makefile.PL иногда указаны более точные версии модулей. Это информацию нужно как-то "протащить" до стадии find-requires. К сожалению, на стадии find-requires НЕТ СПОСОБА ОПРЕДЕЛИТЬ, В КАКОМ КАТАЛОГЕ СОБИРАЛСЯ ПАКЕТ. То есть на стадии find-requires доступен только RPM_BUILD_ROOT. Чтобы как-то протащить информацию со стадии %build на стадию find-requires, на стадии %install я копирую этот файл в %buildroot. Тогда perl.req знает, откуда подобрать информацию из Makefile.PL. Вообще, по-моему, это глючок RPM. Что ему стоит заходить на стадии find-requires в каталог сборки? А он заходит просто в ~/RPM/BUILD. > Также программа устанавливает следующий файл: > > /usr/lib/perl5/vendor_perl/auto/Swatch/Actions/autosplit.ix > > Для таких файлов вроде бы есть макрос %perl_vendor_autolib, но у него > путь отличается: > > /usr/lib/perl5/vendor_perl/i386-linux/auto > > Т.е. у меня auto/ вместо i386-auto/ Может программа чего не туда > ставит? Тогда как это подправить? Если в %buildroot/usr/lib/perl5/vendor_perl/auto/ кроме файла autosplit.ix ничего нет, то нужно из Actions.pm удалить всякое упоминание об AutoLoader. Если же рядом с autosplit.ix лежат всякие-разные *.al файлы, то AutoLoader нужен (или его можно чуть сложнее оторвать, но это желательно чувствовать, стоит или не стоит его отрывать). В случае с *.al файлами паковать %perl_vendor_privlib/auto/*.*