From Fedora Project Wiki

Fedora Package Process

Create Account

If you are a new package maintainer:

  • Create a new account on Fedora Account System (FAS)
    • Click on 'New account' and fill in the blanks.
    • After you create your account, please be sure to sign the CLA (if you click on the "My Account" link in the top right, you should see CLA: CLA Done).
    • Also you need to upload a public RSA SSH key. You need to use the matching private key to access Fedora machines via SSH
  • Create an account in Red Hat bugzilla.
  • Install the client tools
    • To build Packages for the Fedora Collection or EPEL, you need Koji. You'll also need to generate a client side certificate at the Fedora Account System and save the file in ~/.fedora.cert, where fedpkg will look for it by default.

Make a Package

  • Make sure it is a new package.
  • Create an RPM package:
Create a new RPM project, create a spec file, upload source files, export source/binary RPM
  • Make sure it is a suitable package (Read the packaging guidelines - Read other submissions)

Assist at creating FAS account/Red Hat bugzilla account, etc. Maybe create an interactive help page, which walks one through the steps Create an RPM spec-file project Use RPM-stubby to create a spec-file stub Contributor works on spec-file. Tests on local builds. Support mock builds. Export SRPM/spec-file for review (provide space to enter URL of hosted SRPM/.spec or scp to fedorapeople.org) and create review-request bug (using mylyn) Create an RPM .spec project Contributor works on spec-file. Tests on local builds. Support mock builds. Export SRPM/spec-file for review (scp to fedorapeople.org) and create review-request bug (using mylyn)

Submit For Review

  • Join the mailing lists (introduce yourself)
  • Upload your package (e.g. to repos.fedorapeople.org)
  • Create your review request (--set an appropriate flag for package review, inform upstream)
  • Watch the bugzilla report for feedback

Ready to Ship

Follow these steps after your package is approved by reviewers.

  • Obtain member sponsorship (to check in and build your package)
  • Add package to Source Code Management (SCM) system and Set Owner
  • Check out the empty module from SCM
fedpkg clone <packagename>
  • Test your package ?
using Mock or Koji build systems

Update your SCM

  • Import and commit your SRPM into master branch
  • Build your package
  • Submit your package as update in Bodhi
  • Close the bugzilla account
  • Add the package to the comp files --if appropriate for the package
  • Enable Upstream Release Monitoring