Custom rpm install problems

Paul Howarth paul at city-fan.org
Mon Aug 14 12:47:47 UTC 2006


Dan Track wrote:
> On 8/14/06, Paul Howarth <paul at city-fan.org> wrote:
>> Dan Track wrote:
>> > On 8/14/06, DeXteR <dexter at beetjevreemd.nl> wrote:
>> >> Dan Track wrote:
>> >> >
>> >> >
>> >> > error: Failed dependencies:
>> >> >        perl(BSD::Resource) is needed by MX-Mod_perl
>> >> >        perl(Devel::Symdump) is needed by MX-Mod_perl
>> >> >
>> >> > When I do a locate I can find the appropriate files (e.g .pm's), 
>> so I
>> >> > can't see why its not installing.
>> >> You say you have the right .pm files installed (I assume through RPM).
>> >> The rpm that won;t install here has a REQUIRE "BSD::Resource".
>> >> This file is installed as a .pm, but the RPM does not provide the
>> >> database field "PROVIDES "BSD::Resource"".
>> >> Either you change the rpm you are trying to install to require the 
>> .pm,
>> >> or change the intalled rpm to provide the cpam name. Or use the 
>> --force
>> >> options :P
>> >>
>> >> /Arjen
>> >>
>> >
>> > Hi Arjen,
>> >
>> > Thanks for the detailed explanation. Would you know what the options
>> > would be to insert into the rpm.spec to make it aware of the cpan
>> > modules?
>>
>> Why don't you save yourself the hassle and just install the RPMs?
>>
>> # yum install 'perl(BSD::Resource)' 'perl(Devel::Symdump)'
>>
> 
>>
> Hi
> 
> Yep I could do so. Its just that happened to be installed already 
> through cpan.
> 
> I'm not that great with rpm at the moment, but reading the spec file,
> I can't see anywhere where it states a requirement for the mentioned
> perl modules. Would you know where its getting its requirement from?

There are scripts run at the end of the rpm build process that look for 
perl provides/requires in the files you have packaged. These are in 
addition to any that you have explicitly put in your spec file. These 
dependencies are usually correct, i.e. if rpm is adding them then there 
is something in the package that uses them.

Remember too that the RPM database knows nothing about anything that you 
have locally installed (e.g. from CPAN), which is why it's best always 
to install RPMs for perl packages so that other RPM-based packages can 
"see" the modules, rather than installing them locally.

Paul.




More information about the fedora-list mailing list