From Fedora Project Wiki

< Features

Revision as of 10:53, 6 January 2009 by Rakesh (talk | contribs)


Review-o-matic is an infrastructure feature. Aim is making an application which gets up as a service and can also be set up locally.


The aim of the project includes the creation of a application that would review the packages as per the Package Review Guidelines and generate a report. It will also include automating all common steps which every reviewer performs for each review and building guideline checks for all Package guidelines which can be automated.


Current status

  • Targeted release: Fedora 11
  • Last updated: 2009-01-06
  • Percentage of completion: 15%

Detailed Description

Review-o-matic would be an application which takes a spec or srpm or just rpms through its feeder and does a review and posts its report via its reporter interface. Feeder will have different interfaces to get input e.g bugzilla, local host m/c (as files) or web interface or service. Reports will also be provided to different interfaces depending upon needs e.g Bugzilla, local m/c (as file) or web service. Our process also includes(very much obviously) running rpmlint on input files. We plan to push all guidelines checks to upstream rpmlint. But there are some hybrid checks which:

  • are fedora specific
  • require input from logs generated via builders or multiple file inspection and are very much out of scope of rpmlint

will need to be kept in review-o-matic.

(Check table) is were inspecting each checks one by one and decide on which are programmable and which are not, takes place.

Plan is to speed up automating guidelines once structural architecture get working with very basic capabilities and later on concentrate on automating guidelines.

Structural Architecture of whole design for now is:



Benefit to Fedora

  • Automatically building srpms once they are submitted for package review and responding depending upon the result of build.
  • Running rpmlint and other automated guideline checks provided by review-o-matic and providing a report.
  • Periodically checking already existing packages in repository for their consistency with guidelines and proving reports to maintainers. There by doing a periodic maintenance for ever increasing fedora packages.


Requires completing the structural design and writing checks or guideline programs for those packaging guidelines which can be automated.

How To Test

  • Making test specs, rpms and srpms and analyszing the reports generated and comparing them to expected output. Unit tests or doc tests are in plan.

User Experience

  • Application can be initiated locally, via Bugzilla, via web service.
  • Developers/Maintainers input files (spec, srpm, rpm) to be reviewed.
  • Generates reports and presents via Bugzilla, web service or output file.


  • rpmlint
  • rpm-python
  • python-bugzilla
  • koji

Contingency Plan

Not Needed.


Right now wiki has some bare minimum documentation:

Release Notes

To be filled up later.

Who are target users ?

  • Reporters for new packages
  • Reviewers.
  • Maintainers for already existing packages (indirectly it can be run by them periodically on packages they are maintaining).

What RoM is not ?

  • It does no change to present workflow for reviews.
  • It is not a replacement for reviewers.
  • It is not a replacement for rpmlint.
  • Every package which goes into fedora 11 or is already there need not pass through it.

Comments and Discussion

See Talk:Features/ReviewOMatic