Bug 207795 - Review Request: perl-Perl-Critic - Critique Perl source code for best-practices
Summary: Review Request: perl-Perl-Critic - Critique Perl source code for best-practices
Keywords:
Status: CLOSED NEXTRELEASE
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Jason Tibbitts
QA Contact: Fedora Package Reviews List
URL:
Whiteboard:
Depends On:
Blocks: FE-ACCEPT
TreeView+ depends on / blocked
 
Reported: 2006-09-23 11:09 UTC by Jose Pedro Oliveira
Modified: 2007-11-30 22:11 UTC (History)
0 users

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2006-09-24 12:02:30 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)

Description Jose Pedro Oliveira 2006-09-23 11:09:34 UTC
Spec URL:
ftp://perl.di.uminho.pt/pub/fedora/perl-Perl-Critic.spec

SRPM URL:
ftp://perl.di.uminho.pt/pub/fedora/perl-Perl-Critic-0.2-1.src.rpm

Description:
Perl::Critic is an extensible framework for creating and applying coding
standards to Perl source code. Essentially, it is a static source code
analysis engine. Perl::Critic is distributed with a number of
Perl::Critic::Policy modules that attempt to enforce various coding
guidelines. Most Policy modules are based on Damian Conway's book Perl
Best Practices. However, Perl::Critic is not limited to PBP and will
even support Policies that contradict Conway. You can enable, disable,
and customize those Polices through the Perl::Critic interface. You can
also create new Policy modules that suit your own tastes.

Comment 1 Jason Tibbitts 2006-09-23 15:18:23 UTC
That sure is a large number of submodules with really long names....

* source files match upstream:
   a31ab7c92cdb0501c1a3e298495f61c5  Perl-Critic-0.2.tar.gz
* package meets naming and packaging guidelines.
* specfile is properly named, is cleanly written and uses macros consistently.
* dist tag is present.
* build root is correct.
* license field matches the actual license.
* license is open source-compatible.  License text included in package.
* latest version is being packaged.
* BuildRequires are proper.
* %clean is present.
* package builds in mock (development, x86_64).
* package installs properly
* rpmlint is silent.
* final provides and requires are sane:
   perl(Perl::Critic) = 0.20
   perl(Perl::Critic::Config) = 0.20
   perl(Perl::Critic::Document) = 0.20
   perl(Perl::Critic::Policy) = 0.20
   perl(Perl::Critic::Policy::BuiltinFunctions::ProhibitLvalueSubstr) = 0.20
   perl(Perl::Critic::Policy::BuiltinFunctions::ProhibitSleepViaSelect) = 0.20
   perl(Perl::Critic::Policy::BuiltinFunctions::ProhibitStringyEval) = 0.20
   perl(Perl::Critic::Policy::BuiltinFunctions::ProhibitStringySplit) = 0.20
   perl(Perl::Critic::Policy::BuiltinFunctions::ProhibitUniversalCan) = 0.20
   perl(Perl::Critic::Policy::BuiltinFunctions::ProhibitUniversalIsa) = 0.20
   perl(Perl::Critic::Policy::BuiltinFunctions::RequireBlockGrep) = 0.20
   perl(Perl::Critic::Policy::BuiltinFunctions::RequireBlockMap) = 0.20
   perl(Perl::Critic::Policy::BuiltinFunctions::RequireGlobFunction) = 0.20
   perl(Perl::Critic::Policy::BuiltinFunctions::RequireSimpleSortBlock) = 0.20
   perl(Perl::Critic::Policy::ClassHierarchies::ProhibitAutoloading) = 0.20
   perl(Perl::Critic::Policy::ClassHierarchies::ProhibitExplicitISA) = 0.20
   perl(Perl::Critic::Policy::ClassHierarchies::ProhibitOneArgBless) = 0.20
   perl(Perl::Critic::Policy::CodeLayout::ProhibitHardTabs) = 0.20
   perl(Perl::Critic::Policy::CodeLayout::ProhibitParensWithBuiltins) = 0.20
   perl(Perl::Critic::Policy::CodeLayout::ProhibitQuotedWordLists) = 0.20
   perl(Perl::Critic::Policy::CodeLayout::RequireTidyCode) = 0.20
   perl(Perl::Critic::Policy::CodeLayout::RequireTrailingCommas) = 0.20
   perl(Perl::Critic::Policy::ControlStructures::ProhibitCStyleForLoops) = 0.20
   perl(Perl::Critic::Policy::ControlStructures::ProhibitCascadingIfElse) = 0.20
   perl(Perl::Critic::Policy::ControlStructures::ProhibitDeepNests) = 0.20
   perl(Perl::Critic::Policy::ControlStructures::ProhibitPostfixControls) = 0.20
   perl(Perl::Critic::Policy::ControlStructures::ProhibitUnlessBlocks) = 0.20
   perl(Perl::Critic::Policy::ControlStructures::ProhibitUnreachableCode) = 0.20
   perl(Perl::Critic::Policy::ControlStructures::ProhibitUntilBlocks) = 0.20
   perl(Perl::Critic::Policy::Documentation::RequirePodAtEnd) = 0.20
   perl(Perl::Critic::Policy::Documentation::RequirePodSections) = 0.20
   perl(Perl::Critic::Policy::ErrorHandling::RequireCarping) = 0.20
   perl(Perl::Critic::Policy::InputOutput::ProhibitBacktickOperators) = 0.20
   perl(Perl::Critic::Policy::InputOutput::ProhibitBarewordFileHandles) = 0.20
   perl(Perl::Critic::Policy::InputOutput::ProhibitInteractiveTest) = 0.20
   perl(Perl::Critic::Policy::InputOutput::ProhibitOneArgSelect) = 0.20
   perl(Perl::Critic::Policy::InputOutput::ProhibitReadlineInForLoop) = 0.20
   perl(Perl::Critic::Policy::InputOutput::ProhibitTwoArgOpen) = 0.20
   perl(Perl::Critic::Policy::InputOutput::RequireBracedFileHandleWithPrint) = 0.20
   perl(Perl::Critic::Policy::Miscellanea::ProhibitFormats) = 0.20
   perl(Perl::Critic::Policy::Miscellanea::ProhibitTies) = 0.20
   perl(Perl::Critic::Policy::Miscellanea::RequireRcsKeywords) = 0.20
   perl(Perl::Critic::Policy::Modules::ProhibitAutomaticExportation) = 0.20
   perl(Perl::Critic::Policy::Modules::ProhibitEvilModules) = 0.20
   perl(Perl::Critic::Policy::Modules::ProhibitMultiplePackages) = 0.20
   perl(Perl::Critic::Policy::Modules::RequireBarewordIncludes) = 0.20
   perl(Perl::Critic::Policy::Modules::RequireEndWithOne) = 0.20
   perl(Perl::Critic::Policy::Modules::RequireExplicitPackage) = 0.20
   perl(Perl::Critic::Policy::Modules::RequireVersionVar) = 0.20
   perl(Perl::Critic::Policy::NamingConventions::ProhibitAmbiguousNames) = 0.20
   perl(Perl::Critic::Policy::NamingConventions::ProhibitMixedCaseSubs) = 0.20
   perl(Perl::Critic::Policy::NamingConventions::ProhibitMixedCaseVars) = 0.20
   perl(Perl::Critic::Policy::References::ProhibitDoubleSigils) = 0.20
   perl(Perl::Critic::Policy::RegularExpressions::ProhibitCaptureWithoutTest) = 0.20
   perl(Perl::Critic::Policy::RegularExpressions::RequireExtendedFormatting) = 0.20
   perl(Perl::Critic::Policy::RegularExpressions::RequireLineBoundaryMatching) =
0.20
   perl(Perl::Critic::Policy::Subroutines::ProhibitAmpersandSigils) = 0.20
   perl(Perl::Critic::Policy::Subroutines::ProhibitBuiltinHomonyms) = 0.20
   perl(Perl::Critic::Policy::Subroutines::ProhibitExcessComplexity) = 0.20
   perl(Perl::Critic::Policy::Subroutines::ProhibitExplicitReturnUndef) = 0.20
   perl(Perl::Critic::Policy::Subroutines::ProhibitSubroutinePrototypes) = 0.20
   perl(Perl::Critic::Policy::Subroutines::ProtectPrivateSubs) = 0.20
   perl(Perl::Critic::Policy::Subroutines::RequireFinalReturn) = 0.20
   perl(Perl::Critic::Policy::TestingAndDebugging::ProhibitNoStrict) = 0.20
   perl(Perl::Critic::Policy::TestingAndDebugging::ProhibitNoWarnings) = 0.20
   perl(Perl::Critic::Policy::TestingAndDebugging::RequireUseStrict) = 0.20
   perl(Perl::Critic::Policy::TestingAndDebugging::RequireUseWarnings) = 0.20
   perl(Perl::Critic::Policy::ValuesAndExpressions::ProhibitConstantPragma) = 0.20
   perl(Perl::Critic::Policy::ValuesAndExpressions::ProhibitEmptyQuotes) = 0.20
   perl(Perl::Critic::Policy::ValuesAndExpressions::ProhibitEscapedCharacters) =
0.20
  
perl(Perl::Critic::Policy::ValuesAndExpressions::ProhibitInterpolationOfLiterals)
= 0.20
   perl(Perl::Critic::Policy::ValuesAndExpressions::ProhibitLeadingZeros) = 0.20
  
perl(Perl::Critic::Policy::ValuesAndExpressions::ProhibitMixedBooleanOperators)
= 0.20
   perl(Perl::Critic::Policy::ValuesAndExpressions::ProhibitNoisyQuotes) = 0.20
   perl(Perl::Critic::Policy::ValuesAndExpressions::ProhibitVersionStrings) = 0.20
  
perl(Perl::Critic::Policy::ValuesAndExpressions::RequireInterpolationOfMetachars)
= 0.20
   perl(Perl::Critic::Policy::ValuesAndExpressions::RequireNumberSeparators) = 0.20
  
perl(Perl::Critic::Policy::ValuesAndExpressions::RequireQuotedHeredocTerminator)
= 0.20
  
perl(Perl::Critic::Policy::ValuesAndExpressions::RequireUpperCaseHeredocTerminator)
= 0.20
   perl(Perl::Critic::Policy::Variables::ProhibitConditionalDeclarations) = 0.20
   perl(Perl::Critic::Policy::Variables::ProhibitLocalVars) = 0.20
   perl(Perl::Critic::Policy::Variables::ProhibitMatchVars) = 0.20
   perl(Perl::Critic::Policy::Variables::ProhibitPackageVars) = 0.20
   perl(Perl::Critic::Policy::Variables::ProhibitPunctuationVars) = 0.20
   perl(Perl::Critic::Policy::Variables::ProtectPrivateVars) = 0.20
   perl(Perl::Critic::Policy::Variables::RequireInitializationForLocalVars) = 0.20
   perl(Perl::Critic::Policy::Variables::RequireLexicalLoopIterators) = 0.20
   perl(Perl::Critic::Policy::Variables::RequireNegativeIndices) = 0.20
   perl(Perl::Critic::TestUtils) = 0.20
   perl(Perl::Critic::Utils) = 0.20
   perl(Perl::Critic::Violation) = 0.20
   perl-Perl-Critic = 0.2-1.fc6
  =
   /usr/bin/perl
   perl(:MODULE_COMPAT_5.8.8)
   perl(Carp)
   perl(Config::Tiny)
   perl(English)
   perl(File::Spec)
   perl(File::Spec::Unix)
   perl(Getopt::Long)
   perl(IO::String)
   perl(List::MoreUtils)
   perl(List::Util)
   perl(Module::Pluggable)
   perl(PPI)
   perl(PPI::Document)
   perl(Perl::Critic)
   perl(Perl::Critic::Config)
   perl(Perl::Critic::Document)
   perl(Perl::Critic::Utils)
   perl(Perl::Critic::Violation)
   perl(Perl::Tidy)
   perl(Pod::PlainText)
   perl(Pod::Usage)
   perl(Scalar::Util)
   perl(String::Format)
   perl(base)
   perl(overload)
   perl(strict)
   perl(warnings)
* %check is present and all tests pass:
   All tests successful.
   Files=26, Tests=1588, 24 wallclock secs (23.14 cusr +  1.35 csys = 24.49 CPU)
* package is not relocatable.
* owns the directories it creates.
* doesn't own any directories it shouldn't.
* no duplicates in %files.
* file permissions are appropriate.
* no scriptlets present.
* code, not content.
* documentation is small, so no -docs subpackage is necessary.
* %docs are not necessary for the proper functioning of the package.

APPROVED

Comment 2 Jose Pedro Oliveira 2006-09-23 17:19:34 UTC
Tibbs,

Thanks for the review.
The package has been imported and already built for devel.
I will close this ticket as soon as the package gets built for FC-5 (branch
pending).

jpo

Comment 3 Jose Pedro Oliveira 2006-09-24 12:02:30 UTC
Just built for FC-5.


Note You need to log in before you can comment on or make changes to this bug.