From Fedora Project Wiki

< Perl

Revision as of 13:29, 22 July 2010 by Mmaslano (talk | contribs) (Updates of Perl core modules)

This is Draft with tips&tricks, which should help with updates.

Updates of Perl core modules

Old style of updates: update whole perl core package. Creating updates of modules in main perl package is complicated, sometimes almost impossible because of change in directories/paths inside of the main package.

Why we need updated modules: e.g. Module::Build is used for build and installation. New packages need the latest version, which makes the process of packaging perl modules slower and painful. This process should help maintainability of core perl package.

Maintainer: The maintainer of (main) perl package should be (co-)maintainer of the new package.

How update core modules e.g. Module::Build

  1. create separated module with cpanspec
  2. check whether module has Epoch in perl.spec
  3. check with rpmdev-vercmp whether version is really higher because of difference in rpm/cpan versions
  4. review in bz, cvs, build, update

Be careful with backporting updates into older releases of Fedora. Some older packages could have troubles e.g. with new Module::Build.

Updates of perl modules

For updates has been developed Fedora::App::MaintainerTools


maintainertool updatespec perl-Something.spec

What does it do:

  • download new source
  • change BuildRequirements and Requirements
  • write changes into changelog
* Fri Jul 09 2010 Marcela Mašláňová <> 3.65-1
- update by Fedora::App::MaintainerTools 0.006
- updating to latest GA CPAN version (3.65)
- added a new br on perl(ExtUtils::MakeMaker) (version 0)
- altered br on perl(HTML::Tagset) (3.03, => 3)
- added a new br on perl(Test::More) (version 0)
- added a new br on perl(XSLoader) (version 0)
- altered req on perl(HTML::Tagset) (3.03 => 3)
- added a new req on perl(XSLoader) (version 0)

But, maintainertool can't handle unusual macros like: Name: perl-%{real_name}. This module wasn't packaged, because it's still under development and BR RPM::VersionSort doesn't have license.