


Perl modules should be installed under vendor_perl hierarchy, not under default site_perl hierarchy. Some modules define INSTALLMAN3DIR => 'none' in Makefile.PL, just delete this entry to revert to default behaviour. Version: %perl_convert_version % (except a few special cases where they have their own project site, see for example perl-DBI). In ROSA Linux, we normalize all perl modules version through %perl_convert_version macro: For instance DateTime 0.2901 is supposed to be an earlier release than 0.31. Perl modules use numerical version numbers, whereas rpm uses alphanumerical version numbers, causing repeated ordering troubles. (These names are often, but not always, related to the main Perl module of the distribution, e.g. In order to be independent of exact module location (either in its own package or part of a standard perl library), build dependencies on additional perl modules should be expressed on perl modules, with automatic dependency syntax:Īnd not on the perl-Foo-BAr package itself.Īll modules should be called perl-Foo-Bar, with Foo-Bar standing for the name of the CPAN distribution used. In general, if you meet the error like "i586-linux-thread-multi/CORE/config.h" not found, you should add perl-devel BR. perl-devel unconditionally for native packages, and in very rare cases for pure perl packages.perl(Module::Build) if using Module::Build.The perl module Module::ScanDeps is known to make a good job of this. If this research produces wrong dependencies, you have to filter them:Ĭonsidering the relatively large number of bugs, a correct dependency computing algorithm is still to be integrated. If this research fails to find some dependencies, you have to provide it explicitly: rpm automatically adds a versioned dependency on perl-base, and scans files for additional perl module dependencies (both required and provided).
