New perl spec file

Robin Norwood rnorwood at redhat.com
Tue Apr 3 21:05:28 UTC 2007


Alright, try, try again:

This includes the fixed epochs, as well as various references to
%{_libdir} and %{_prefix} where it seemed appropriate.

One thing I'm curious about - I notice that the perl-CPAN package
doesn't automatically provide 'cpan' or anything similar - so 'yum
install cpan' is likely to fail.  Would it be wise to add a:

Provides: cpan

To that package?

Thanks,

-RN

Robin Norwood <rnorwood at redhat.com> writes:

> Ralf Corsepius <rc040203 at freenet.de> writes:
>
> [...]
>
>>> It doesn't work.
>>> 
>>> The epochs on dependencies on "perl" inside of sub-packages are wrong.
>>> 
>>> E.g.:
>>> # rpm -q --requires -p perl-CPAN-1.76_02-16.i386.rpm 
>>> ...
>>> perl = 0:5.8.8-16
>>> ...
>>> 
>>> # rpm -q --provides -p perl-5.8.8-16.i386.rpm
>>> ...
>>> perl = 4:5.8.8-16
>>> ...
>>> 
>>> This causes all kind of dependency breakages in yum.
>>> 
>>> AFAIS, you seem to have missed the %{epoch} related Requires having been
>>> contained in my latest *.spec.
>> Scratch this sentence - I was wrong.
>>
>> You added
>> Requires:       perl = %{epoch}:%{perl_version}-%{release}
>> to subpackages' %package.
>>
>>
>> This breaks if a subpackage uses a different Epoch as the main packages,
>> for example this:
>> ...
>> %package Test-Harness
>> Summary:        Run Perl standard test scripts with statistics
>> Group:          Development/Languages
>> Epoch:          0
>> Version:        2.56
>> Requires:       perl-devel
>> Requires:       perl = %{epoch}:%{perl_version}-%{release}
>> ...
>>
>> At the time, rpm processes the %{epoch} inside of the 
>> "Requires: perl =...", 
>> %{epoch} contains the "0" from the "Epoch: 0" line above and doesn't
>> contain the global epoch anymore.
>>
>>
>> A brute-force approach to work-around this would be to add a global 
>> %define perl_epoch 4
>> at the beginning of the *.spec and to replace all references to the main
>> perl package's Epoch (%{epoch}) with %{perl_epoch}
>>
>> The patch below implements this approach.
>
> Good catch Ralf, thanks - I've applied that patch and I'll try out a
> local build.
>
> Thanks,
>
> -RN
>
> -- 
> Robin Norwood
> Red Hat, Inc.
>
> "The Sage does nothing, yet nothing remains undone."
> -Lao Tzu, Te Tao Ching

-- 
Robin Norwood
Red Hat, Inc.

"The Sage does nothing, yet nothing remains undone."
-Lao Tzu, Te Tao Ching




More information about the Fedora-perl-devel-list mailing list