[Fedora-packaging] RPM for CPAN module - Issues with Provides:

Pedro Padron ppadron at w3p.com.br
Fri Feb 5 21:29:52 UTC 2010

Hi there,

I'm creating a specfile for a CPAN module and I'm facing some issues
with the Provides: tag.

The module I want to package (Nmap::Scanner) creates Perl namespaces
on-the-fly using Class::Generate, so the perl.prov script can't detect
them. This of course creates an incomplete list of Provides:, which
conflicts with the list of Requires:. Therefore the RPM package cannot
find the dependencies provided by itself.

I would like to know what would be the recommended alternative for
adding the missing Provides:.

In Bug #167797 [1] there was the alternative of patching the code and
submitting the patch upstream. In this case it would be unreasonable,
since the module would have to be basically rewritten.

Should I just add a bunch of Provides: in the spec header like this?

Provides: perl(Nmap::Scanner::Address)
Provides: perl(Nmap::Scanner::Distance)
Provides: perl(Nmap::Scanner::ExtraPorts)
Provides: perl(Nmap::Scanner::Host)
Provides: perl(Nmap::Scanner::Hostname)
Provides: perl(Nmap::Scanner::Hosts)
Provides: perl(Nmap::Scanner::NmapRun)
Provides: perl(Nmap::Scanner::OS)
Provides: perl(Nmap::Scanner::OS::Class)
Provides: perl(Nmap::Scanner::OS::Fingerprint)
Provides: perl(Nmap::Scanner::OS::IPIdSequence)
Provides: perl(Nmap::Scanner::OS::Match)
Provides: perl(Nmap::Scanner::OS::PortUsed)
Provides: perl(Nmap::Scanner::OS::TCPSequence)
Provides: perl(Nmap::Scanner::OS::TCPTSSequence)
Provides: perl(Nmap::Scanner::OS::Uptime)
Provides: perl(Nmap::Scanner::Port)
Provides: perl(Nmap::Scanner::RunStats)
Provides: perl(Nmap::Scanner::RunStats::Finished)
Provides: perl(Nmap::Scanner::ScanInfo)
Provides: perl(Nmap::Scanner::Service)
Provides: perl(Nmap::Scanner::Task)
Provides: perl(Nmap::Scanner::TaskProgress)

[1] https://bugzilla.redhat.com/show_bug.cgi?id=167797


Pedro Padron
ppadron at w3p.com.br

More information about the packaging mailing list