pdflib - problem z nowym perl.prov

Jakub Bogusz qboosh w pld.org.pl
Śro, 19 Mar 2003, 00:55:44 CET


On Tue, Mar 18, 2003 at 09:58:52PM +0100, Radoslaw Zielinski wrote:
> Jakub Bogusz <qboosh w pld.org.pl> [18-03-2003 20:15]:
> > Pakiet pdflib-perl dostarcza perl(pdflib_pl); pdflib_pl.pm zawiera
> > VERSION=4.0, jednak do Provides trafia "perl(pdflib_pl) = 4", przez co
> > nie da się zainstalować perl-PDFLib, które wymaga "perl(pdflib_pl) >=
> > 4.0".
> 
> Po perlowemu, '$foo=4.0;' jest jednoznaczne z '$foo=4;':
> 
>   $ perl -wle 'print eval q|$VERSION=4.0;|'
>   4
> 
> Co innego po _wyraźnym_ potraktowaniu tego jako tekstu:
> 
>   $ perl -wle 'print eval q|$VERSION="4.0";|'
>   4.0
> 
> Nowy perl.prov działa właśnie na zasadzie eval (tyle, że korzysta
> z Safe->reval).  Pomyślę nad tym jutro, ale marnie to widzę.

W obu przypadkach (Requires i Provides) trzeba traktować tak samo, bo
dla rpm-a już nie wszystko jedno...

> Czy przyczepianie się do takich rzeczy jest w rpm-ie celowe?  Bug,
> czy feature?

Porównywanie wersji jest trochę bardziej skomplikowane - w modułach
Perla jest jeden schemat (~liczby zmiennoprzecinkowe), rpm musi sobie
jakoś radzić z różnymi wymysłami.

> 4.0>4?

Brak relacji.

$ rpmvercmp 4.0 4
4.0 > 4
$ rpmvercmp 4 4.0
4 < 4.0


-- 
Jakub Bogusz    http://cyber.cs.net.pl/~qboosh/



Więcej informacji o liście dyskusyjnej pld-devel-pl