[devel] Re: Perl модули
Alexey Tourbin
=?iso-8859-1?q?at_=CE=C1_altlinux=2Eru?=
Сб Апр 2 22:48:59 MSD 2005
On Sat, Mar 26, 2005 at 06:47:41PM +0300, Вячеслав Диконов wrote:
> # WARNING: failed to extract version
> at /home/slava/.tmp/perl-SOAP-Lite-buildroot/usr/lib/perl5/vendor_perl/Apache/SOAP.pm line 18:
> # $VERSION = sprintf("%d.%s", map {s/_//g; $_} q$Name:
> release-0_60-public $ =~ /-(\d+)_([\d_]+)/);
> # 'map' trapped by operation mask at (eval 3) line 1, <$fh> line 18.
Это из-за Safe->reval в perl.prov. То есть map был отнесен
к "ненадежным" опкодам. То есть в `Porivdes: perl(Apache/SOAP.pm)'
и др. версии не будет. На это пока можно забить.
А версия на самом деле такая:
$ perl -le '$VERSION = sprintf("%d.%s", map {s/_//g; $_} q$Name: release-0_60-public $ =~ /-(\d+)_([\d_]+)/); print $VERSION'
0.60
$
А опкоды на самом деле называются mapwhile и mapstart:
$ perl -MO=Concise -le '$VERSION = sprintf("%d.%s", map {s/_//g; $_} q$Name: release-0_60-public $ =~ /-(\d+)_([\d_]+)/);'
k <@> leave[1 ref] vKP/REFC ->(end)
1 <0> enter ->2
2 <;> nextstate(main 2 -e:1) v ->3
j <2> sassign vKS/2 ->k
h <@> sprintf[t5] sK/2 ->i
3 <0> pushmark s ->4
4 <$> const[PV "%d.%s"] s ->5
9 <|> mapwhile(other->a)[t4] lK/1 ->h
8 <@> mapstart lK*/2 ->9
5 <0> pushmark s ->6
- <1> null lK/1 ->6
- <1> null lK/1 ->9
g <@> leave lKP ->9
a <0> enter l ->b
b <;> nextstate(main 1 -e:1) v ->c
d </> subst(/"_"/) vK ->e
c <$> const[PV ""] s ->d
e <;> nextstate(main 1 -e:1) v ->f
- <1> ex-rv2sv sK/1 ->g
f <#> gvsv[*_] s ->g
7 </> match(/"-(\\d+)_([\\d_]+)"/) lKMS/RTIME ->8
6 <$> const[PV "Name: release-0_60-public "] s ->7
- <1> ex-rv2sv sKRM*/1 ->j
i <#> gvsv[*VERSION] s ->j
-e syntax OK
$
> + /usr/lib/rpm/find-requires
> error: file /bin/env: No such file or directory
А это кто сказал?
И почему не отвалилось?
> Can't locate MQClient/MQSeries.pm in @INC (@INC
> contains: /usr/lib/rpm /home/slava/.tmp/perl-SOAP-Lite-buildroot/usr/lib/perl5 /home/slava/.tmp/perl-SOAP-Lite-buildroot/usr/lib/perl5/vendor_perl/i386-linux /home/slava/.tmp/perl-SOAP-Lite-buildroot/usr/lib/perl5/vendor_perl /home/slava/.tmp/perl-SOAP-Lite-buildroot/usr/lib/perl5/vendor_perl /etc/perl5 /usr/lib/perl5/i386-linux /usr/lib/perl5 /usr/lib/perl5/vendor_perl/i386-linux /usr/lib/perl5/vendor_perl /usr/lib/perl5/vendor_perl /etc/perl5 /usr/lib/perl5/i386-linux /usr/lib/perl5 /usr/local/lib/perl5/site_perl/5.8.6/i386-linux /usr/local/lib/perl5/site_perl/5.8.6 /usr/local/lib/perl5/site_perl /usr/lib/perl5/vendor_perl/i386-linux /usr/lib/perl5/vendor_perl /usr/lib/perl5/vendor_perl .) at /home/slava/.tmp/perl-SOAP-Lite-buildroot/usr/lib/perl5/vendor_perl/SOAP/Transport/MQ.pm line 17.
> BEGIN failed--compilation aborted
> at /home/slava/.tmp/perl-SOAP-Lite-buildroot/usr/lib/perl5/vendor_perl/SOAP/Transport/MQ.pm line 17.
> /home/slava/.tmp/perl-SOAP-Lite-buildroot/usr/lib/perl5/vendor_perl/SOAP/Transport/MQ.pm: deparse failed, trying to recover with -MSOAP::Transport
> Can't locate SOAP/Transport.pm in @INC (@INC
> contains: /usr/lib/rpm /home/slava/.tmp/perl-SOAP-Lite-buildroot/usr/lib/perl5 /home/slava/.tmp/perl-SOAP-Lite-buildroot/usr/lib/perl5/vendor_perl/i386-linux /home/slava/.tmp/perl-SOAP-Lite-buildroot/usr/lib/perl5/vendor_perl /home/slava/.tmp/perl-SOAP-Lite-buildroot/usr/lib/perl5/vendor_perl /etc/perl5 /usr/lib/perl5/i386-linux /usr/lib/perl5 /usr/lib/perl5/vendor_perl/i386-linux /usr/lib/perl5/vendor_perl /usr/lib/perl5/vendor_perl /etc/perl5 /usr/lib/perl5/i386-linux /usr/lib/perl5 /usr/local/lib/perl5/site_perl/5.8.6/i386-linux /usr/local/lib/perl5/site_perl/5.8.6 /usr/local/lib/perl5/site_perl /usr/lib/perl5/vendor_perl/i386-linux /usr/lib/perl5/vendor_perl /usr/lib/perl5/vendor_perl .).
> BEGIN failed--compilation aborted.
> # /home/slava/.tmp/perl-SOAP-Lite-buildroot/usr/lib/perl5/vendor_perl/SOAP/Transport/MQ.pm: deparse failed. prefix=/home/slava/.tmp/perl-SOAP-Lite-buildroot/usr/lib/perl5/vendor_perl
> ошибка: /bin/sh не удалось
> ошибка: Невозможно найти Requires
Проще всего забыть про MQSeries.pm:
%add_findreq_skiplist */Transport/MQ.pm
Тогда Transport::MQ работать не будет, но это далеко не основной
транспорт, насколько я понимаю. По HTTP этот SOAP гоняют.
> Тесты пришлось отключить, потому что для полного их выполнения придется
> ставить Perl::Apache, а это тянет весь Apache в зависимости к набору
> скриптов, читающих программу телепередач из Интернета.
Ох. Хорошо было бы, если perl-SOAP-Lite собирал кто-нибудь из тех,
кто его использует. Я не использую.
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя : =?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/20050402/7cd4ca20/attachment-0001.bin>
Подробная информация о списке рассылки Devel