[devel] I: perl.req vs BEGIN
Alexey Tourbin
=?iso-8859-1?q?at_=CE=C1_altlinux=2Eru?=
Пт Авг 15 16:32:27 MSD 2008
On Fri, Aug 15, 2008 at 04:26:13PM +0400, Alexey Gladkov wrote:
> Alexey Tourbin wrote:
> >Обычно не следует выполнять прикладной
> >код в BEGIN.
> >BEGIN зарезервирован для всяких хитрых
> >штук.
>
> То что грабля(с точки зрения запаковщика
> rpm пакета) имеет красивую ручку, не делает
> её удар менее болезненным.
>
> В моём случае, этот скрипт при обычном
> исполнении нормально работает, а при
> запаковке умирает с криками.
Запаковка сводится к syntax check (syntax check строит дерево байткода,
но не исполняет его, кроме блоков BEGIN; perl.req потом вклинивается
в самом конце и ищет байткоды, которые означают загрузку модулей).
Корень проблемы в том, что файлы лежат в RPM_BUILD_ROOT, а не там,
где они будут лежать после установки пакета. Но это не единственная
проблема такого рода. Например, RPATH, зашитиый в бинарик, может дать
неправильный результат, потому что игнорирует RPM_BUILD_ROOT.
> Я не знал про такие тонкости в обработке
> BEGIN, как и автор скрипта. Поэтому я решил
> предупредить, если кто ещё не знает.
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип : application/pgp-signature
Размер : 197 байтов
Описание: =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Url : <http://lists.altlinux.org/pipermail/devel/attachments/20080815/08e63fb7/attachment-0002.bin>
Подробная информация о списке рассылки Devel