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@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@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