Skip to content
Run through a list of RPM SPEC Checks
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
configs
.gitignore
README.rdoc
spec_check.py

README.rdoc

SPEC_CHECKS

This Tool gives you step by step questions to assist in reviewing packages
for Fedora and EPEL. Upon completion you will be given output which 
is intended to be pasted in to the Bugzilla Package Review ticket.

Currently the contents of the ./configs/ directory is based on the
review process found at http://fedoraproject.org/wiki/Packaging/ReviewGuidelines

Requirements

spec_checks requires Python 2.7 as it uses argparse:
http://docs.python.org/dev/library/argparse.html

Getting Help

Simply Clone the Git repo and run the python script

$ git clone git://github.com/jness/spec_checks.git
Cloning into spec_checks...
remote: Counting objects: 201, done.
remote: Compressing objects: 100% (199/199), done.
remote: Total 201 (delta 120), reused 0 (delta 0)
Receiving objects: 100% (201/201), 26.90 KiB, done.
Resolving deltas: 100% (120/120), done.

$ cd spec_checks/

$ ./spec_check.py --help
usage: spec_check.py [-h] [--results] [--delete] name

positional arguments:
  name        Package Name

optional arguments:
  -h, --help  show this help message and exit
  --results   Print out the report using saved answers
  --delete    Delete saved information for given package name

Running Script

$ ./spec_check.py php52

CHECK: 1
================================================================================
         rpmlint must be run on every package

  What does Fedora have to say?
  http://fedoraproject.org/wiki/ParagNemade/CommonRpmlintErrors

Does this look good (Y/n/skip) [pass]: y

CHECK: 2
================================================================================
         The package must be named according to the Package Naming 
         Guidelines

  What does Fedora have to say?
  http://fedoraproject.org/wiki/Packaging/NamingGuidelines

Does this look good (Y/n/skip) [pass]: n ^C

Resuming saved review

If a saved review is found in ~/.spec_check/{name}/review the script will resume
with default answers.

$ ./spec_check.py php52

CHECK: 1
================================================================================
         rpmlint must be run on every package

  What does Fedora have to say?
  http://fedoraproject.org/wiki/ParagNemade/CommonRpmlintErrors

Does this look good (Y/n/skip) [pass]:

CHECK: 2
================================================================================
         The package must be named according to the Package Naming 
         Guidelines

  What does Fedora have to say?
  http://fedoraproject.org/wiki/Packaging/NamingGuidelines

Does this look good (Y/n/skip) [fail]:

Printing Results of Saved Review

$ ./spec_check.py php52 --results
FAILED MUST HAVE's:

[ fail ] MUST The package must be named according to the Package Naming 
         Guidelines

  http://fedoraproject.org/wiki/Packaging/NamingGuidelines 

PASSED MUST HAVE's:

[ pass ] MUST rpmlint must be run on every package

  http://fedoraproject.org/wiki/ParagNemade/CommonRpmlintErrors

Deleting Saved Answers

$ ./spec_check.py php52 --delete
php52's saved answers removed

You will be notified if a saved file does not exisit

$ ./spec_check.py php52 --delete
There does not appear to be saved answers for php52
You can’t perform that action at this time.