[devel] Re: perl ABI detection at find-requires stage
Mikhail Zabaluev
=?iso-8859-1?q?mhz_=CE=C1_altlinux=2Eorg?=
Вт Окт 22 03:05:25 MSD 2002
Hello at,
On Sun, Oct 20, 2002 at 04:06:58AM +0400, at на turbinal.org wrote:
>
> On Sun, Oct 20, 2002 at 12:45:47AM +0400, at на turbinal.org wrote:
> > Каким образом зависимость на ABI/soname может попасть в пакет
> > автоматически при сборке?
> >
> > Можно ли отхачить что-нибудь на стадии find-requires так, чтобы при
> > обнаружении перлового бинарного кода автоматически выставлялась
> > зависимость на перловый soname из среды сборки?
>
> Я посмотрел, и мне кажется, что сделать это вполне возможно. Для этого
> проще всего ввести ещё одну стадию поиска зависимостей (и назвать её
> как-нибудь perlbin/noperlbin).
>
> Критерии:
>
> 1) если в $RPM_BUILD_ROOT/usr/lib/perl* в принципе найдены какие-нибудь
> перловые модули (*.pm, "Perl5 module source text"), то
> 2) если в $RPM_BUILD_ROOT/usr/lib/perl*/auto/* найдены какие-нибудь
> .so-библиотеки, то
Достаточно поискать в $RPM_BUILD_ROOT%perl_sitearch/auto
> 3) возможный дополнительный критерий: названия *.pm и *.so должны
> соответствовать друг другу
1) и 3) практически не обязательны
> 4) передать список таких .so-файлов в скрипт perlbin.req, который
> напечатает что-нибудь хорошее о свойствах перла в окружении сборки
>
> Последнего, однако, не стоит делать, если
> 1) в $RPM_BUILD_ROOT/usr/lib или $RPM_BUILD_ROOT/usr/lib/perl*/CORE
> найдены библиотеки libperl*.so*; и, кроме того
> 2) найден перловый модуль $RPM_BUILD_ROOT/usr/lib/perl*/Config.pm; тогда
> нужно
> 3) передать этот перловый модуль в скрипт perlbin.prov, который
> напечатает что-нибудь хорошее о свойствах собираемого перла
Для одного пакета не стоит утруждаться автоматикой.
>
> Я не знаю, насколько это хорошо и стоит ли это делать вообще. Но это
> поможет автоматический контролировть бинарную совместимость перловых
> пакетов. Простейший возможный скрипт perlbin.req, который даже не
> потребует скрипта perlbin.prov, прилагается.
> #!/usr/bin/perl
> #
> # Show perl version/build-specific binary token
> #
>
> use Config;
> print "$Config{libperl}\n";
На мой взгляд, скрипт правильный.
Можно даже не оформлять как отдельный скрипт, а просто, в случае
обнаружения файлов, выполнять
perl -MConfig -e 'print "$Config{libperl}\n"'
--
Stay tuned,
MhZ JID: mookid на jabber.org
___________
... mindreading equipment is currently classified CIA property at
best (hello echelon!)
- Alan Cox on linux-kernel
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип : application/pgp-signature
Размер : 189 байтов
Описание: =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Url : <http://lists.altlinux.org/pipermail/devel/attachments/20021022/fd781ec0/attachment-0001.bin>
Подробная информация о списке рассылки Devel