iovation / rpmcpan

Create Modern Perl and CPAN RPMs
10 stars 3 forks source link

Extra provides statements are ineffective, swallowed into %description content #5

Closed hartzell closed 9 years ago

hartzell commented 9 years ago

etc/perl.spec includes these three lines after the %description paragraph.

Provides: iov-%{sname}
Provides: %{sname}%{plv}(:WITH_ITHREADS)
Provides: %{sname}%{plv}(:WITH_PERLIO)

I tried to use one of these symbols in a Requires statement in another RPM I'm building and it didn't work. Some digging showed that they weren't getting included in rpm file, e.g the output of:

rpm -qp --provides repo/perl518-5.18.4-4.1432570286.el6.x86_64.rpm

did not include them.

However, they are included as the last three lines of the rpm's description, e.g. in the output of running:

rpm -qp --info repo/perl518-5.18.4-4.1432570286.el6.x86_64.rpm

It appears that the %description block swallows everything up until the next rpm section (e.g. %prep), or something like that.

I've placed them up after the Requires(postun): line and now they no longer appear in the %description section (phew) and have an effect.

Unfortunately, now I'm seeing a hard to reproduce bug in which rpath in incorrectly defined, resulting a failure to find libperl.so at runtime. I'll file another issue describing what I've narrowed down about that problem.

The command line that I'm running is

sudo env PERL5LIB=`pwd`/local.system/lib/perl5 PATH=`pwd`/local.system/bin:$PATH ./bin/rpmcpan --version 5.18.4 --prefix=/opt/perl518 -v -v -v --packager=username@mycompany.com