how does somobeody install perl(ExtUtils::Embed)

Ralf Corsepius rc040203 at freenet.de
Mon Feb 17 12:09:02 UTC 2014


On 02/17/2014 12:13 PM, Reindl Harald wrote:
>
>
> Am 17.02.2014 12:10, schrieb Paul Howarth:
>> On 17/02/14 11:08, Reindl Harald wrote:
>>>
>>> [builduser at buildserver64:/rpmbuild/SPECS]$ rpmbuild -bb subversion.spec
>>> error: Failed build dependencies:
>>>           perl(ExtUtils::Embed) is needed by subversion-1.8.5-2.fc20.20140217.rh.x86_64
>>>           rubygem(minitest) is needed by subversion-1.8.5-2.fc20.20140217.rh.x86_64
>>> [builduser at buildserver64:/rpmbuild/SPECS]$ sudo yum install perl(ExtUtils::Embed) rubygem(minitest)
>>> -bash: syntax error near unexpected token `('
>>> _____________________________
>>>
>>> how is somebody expected to translate such Require / Build-Requires
>>> to a package name yum understands?
>>
>> By quoting them:
>>
>> $ sudo yum install 'perl(ExtUtils::Embed)' 'rubygem(minitest)'
>
> oh, thanks
>
> Build-Requires: perl-ExtUtils-Embed rubygem-minitest
>
> would do the same without special chars, no idea why
> things are done the hard way here and there
perl-ExtUtils-Embed and perl(ExtUtils::Embed)
are not the same thing:

* perl-ExtUtils-Embed refers to a package named "perl-ExtUtils-Embed"

* perl(ExtUtils::Embed) refers to the perl module providing 
"ExtUtils::Embed".

As perl modules may move between packages at any time, there is no 
strict connection between a perl module and a package (which happens to 
temporarily provide a module).

That said, it's Fedora perl-packaging convention not use perl packages 
but to use perl module names for BuildRequires/Requires/Provides.
Furthermore, rpm automatically adds many (theoretically all) 
Provides/Requires based on perl modules.

Ralf




More information about the devel mailing list