Problem z /usr/lib/rpm/perl.req i nowy webmin

Bob Budowniczy build w kompuart.pl
Pią, 29 Kwi 2005, 22:36:15 CEST


On Thu, Apr 28, 2005 at 01:39:29PM +0200, Bob Budowniczy wrote:
> Witam,
> 
> Pracuje nad nowym webminem (1.200) i utknolem w jednym miejscu. Po
> zbudowaniu pakietu, webmin-1.200-*.rpm, posiada w req takie cos:
> 
> $ rpm -qp --qf "[%{REQUIRENAME}\n]" webmin-1.200-*.rpm | sort | uniq
> /bin/sh
> config(webmin)
> perl()    <-- -- -- !!!!!!
> perl-base
> perl(Fcntl)
> perl-modules
> perl-Net-SSLeay
> perl(Net::SSLeay)
> perl(POSIX)
> perl(Socket)
> policy
> rpmlib(CompressedFileNames)
> rpmlib(PayloadFilesHavePrefix)
> rpmlib(PayloadIsBzip2)
> /sbin/chkconfig
> /usr/bin/perl
> 
> Wiem, ze za to odpowiada /usr/lib/rpm/perl.req, chcialbym namierzyc
> plik, ktory powoduje ta (bledna?) zaleznosc. Plik .req jst dobrze opisany,
> wiec wiem co on robi, widzialem go w akcji (perl perl.req /usr/../*.pm).
> Obecnie mam src webmina w ~/tmp a .req ignoruje wszytko co nie jest w
> systemie (/usr/(sbin|bin|lib|lib64|share|X11R6/(lib|lib64|bin))).
> 
> Jednoczesnie widze, ze rpmbuild "oszukuje" co jest slashroot'em (/), bo
> podczas budowania pakiet tworzy sie w %{tmpdir}/... a perl.req jednak
> dziala poprawine. Jak rpmbuild to robi -- udajac slashroot'a w
> %{tmpdir}/.. i czy wiecie jak obejsc zalesnosc 'perl()'?

Oto przykladowe `require' w webminie. /usr/lib/rpm/perl.req nie radzi
sobie z nimi poprawnie z tad dziwna zaleznosc wspomniana w moim
poprzednim poscie. perl.req z rpm-4.2.{1,2} na ponizej wypisane `require'

$ grep -h ^require * | sort | uniq
require './config-lib.pl';
require (-r './web-lib.pl' ? './web-lib.pl' : '../web-lib.pl');
require 'timelocal.pl';
require './ui-lib.pl';
require './web-lib.pl';

generuje nastepujace zaleznosci:

perl()
perl(.::config-lib.pl)
perl(.::ui-lib.pl)
perl(.::web-lib.pl)
perl(POSIX)
perl(Socket)
perl(timelocal.pl)

RPM z PLD (rpm-perlprov-4.3-0.20040107.56) generuje natomiast:

perl()
perl(POSIX)
perl(Socket)

dodam, ze oby dwie operacje byly dokonywane na tych samych plikach.
Skrypt, ktory powoduje ta bledna /perl()/ zaleznosc to chooser.pl.

Po dodaniu patcha z zalacznika, perl.req daje ponizszy wynik:

perl(POSIX)
perl(Socket)

Webmin instaluje sie bez problemu, a problem z (*) o ktorym pisalem[1]
wczesniej obszedlem brzydko zmieniajac nazwe z '*' na 'x'.


Referencje
 1. http://lists.pld-linux.org/pipermail/pld-devel-pl/2005-April/127710.html

-- 
best regards
q#




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