[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