PaulHowarth/Blog/2011-03-30

Wednesday 30th March 2011

Fedora Project

  • Updated perl-Package-Stash to 0.28 in Rawhide and F-15:

    • META.json fixes

  • Updated perl-Perl-Critic to 1.114 in Rawhide (Bug #677888); the F-15 build will have to wait until perl-PPI version 1.215 is available (still in the testing repository):

    • Documentation::RequirePodLinksIncludeText now handles nested POD formatting (CPAN RT#65569)

    • Clarified relation of severity numbers to names in Perl::Critic POD (CPAN RT#66017)

    • Removed caveats from Variables::RequireLocalizedPunctuationVars, no longer necessary with PPI 1.208 (CPAN RT#65514)

    • Have InputOutput::RequireBriefOpen attempt to expand scope as necessary to deal with the case where the open() and the corresponding close() are not in the same scope (CPAN RT#64437)

    • RegularExpressions::ProhibitUnusedCapture now looks inside double-quotish things (CPAN RT#38942)

    • RegularExpressions::ProhibitUnusedCapture now takes logical alternation into account, so that (e.g.)

    • if ( /(a)/ || /(b)/ ) {
          say $1;
      }
    • is not a violation (CPAN RT#38942)

    • ValuesAndExpressions::ProhibitCommaSeparatedStatements now recognizes 'return { foo => 1, bar => 2 }' as containing a hash constructor, not a block; this was fixed by PPI 1.215 (CPAN RT#61301)

    • ValuesAndExpressions::ProhibitCommaSeparatedStatements now recognizes 'bless { foo => 1, bar => 2 }' as containing a hash constructor, not a block; this was fixed by PPI 1.215 (CPAN RT#64132)

  • I also made a bunch of other changes, merging what I considered to be the best bits of the current package and my local build of it:
    • Bumped PPI version requirement to 1.215

    • BR/R: perl(Pod::Parser)

    • BR/R: optional modules perl(Readonly::XS) and perl(Term::ANSIColor) ≥ 2.02

    • BR: perl(Pod::Spell) ≥ 1

    • BR: perl(Text::ParseWords) ≥ 3

    • Added runtime dependencies for optional modules perl(File::HomeDir) and perl(File::Which)

    • Dropped redundant (for modern rpm) BuildRoot tag and buildroot cleaning

    • Split Test::Perl::Critic::Policy off into its own package

    • Added dependency on aspell for Perl::Critic::Policy::Documentation::PodSpelling

    • Added version 1.889 requirement for perl(Email::Address)

    • Added version 0.19 requirement for perl(List::MoreUtils)

    • Added version 0.010 requirement for perl(PPIx::Regexp)

    • Added version 1.001 requirement for perl(PPIx::Utilities::Statement)

    • Added version 0.77 requirement for perl(version)

    • Dropped unused build requirement perl(Test::Spelling)

    • Dropped bogus build requirements perl(lib) and perl(base)

    • Added option for building with author tests enabled (--with authortests); this is an off-by-default option as some of the necessary modules are not yet available in Fedora

    • Added patch with words not in Fedora dictionaries for spell check tests
    • Split build requirements into separate sections in the spec file for build process, the module, the main test suite and the author tests
  • Built perl-Devel-Cycle (1.07) for EPEL-4 now that perl-PadWalker is available

Local Packages

  • Updated perl-Module-Build to explicitly require perl(CPAN::Meta) ≥ 2.110420, needed for creation of MYMETA files by Build.PL; the lack of this module results in the message "Could not create MYMETA files" from Build.PL and possible failure of Kwalitee tests in modules using a Module::Build flow (note that the Fedora perl-Module-Build package already has this dependency)

  • Updated perl-Package-Stash to 0.28 as per the Fedora version

  • Merged a bunch of improvements from the Fedora perl-Perl-Critic package into my local build:

    • Switch to Module::Build flow, preferred by upstream

    • Drop unused build requirement perl(Test::Spelling)

    • Add runtime dependency on aspell

    • Add build requirements for completeness:
      • perl(Carp)

      • perl(charnames)

      • perl(Exporter)

      • perl(File::Basename)

      • perl(File::Find)

      • perl(File::Path)

      • perl(File::Spec)

      • perl(File::Spec::Unix)

      • perl(File::Temp)

      • perl(Getopt::Long)

      • perl(List::Util)

      • perl(overload)

      • perl(Pod::PlainText)

      • perl(Pod::Select)

      • perl(Pod::Usage)

      • perl(Readonly::XS)

      • perl(Scalar::Util)

      • perl(strict)

      • perl(Test::More)

      • perl(warnings)

    • Add version requirement of 1 for perl(Pod::Spell)

    • Add version requirement of 0.010 for perl(PPIx::Regexp)

    • Add version requirement of 1.00 for perl(Test::Pod)

    • Add version requirement of 1.04 for perl(Test::Pod::Coverage)

    • Add version requirement of 3 for perl(Text::ParseWords)

    • Drop explicit dependencies on perl(Perl::Tidy), perl(Pod::Spell), perl(PPIx::Regexp) and perl(Text::ParseWords), all of which are detected automatically by rpm


Recent