Line 13: | Line 13: | ||
=== Make a Package === | === Make a Package === | ||
* Make sure it is a new package. | * Make sure it is a new package. Check this [https://admin.fedoraproject.org/pkgdb/acls/list/ list] of existing packages. | ||
* Create an RPM package: | * Create an RPM package: | ||
: Create a new RPM project, create a spec file, upload source files, export source/binary RPM | : 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) | * Make sure it is a suitable package (Read the packaging guidelines - Read other submissions) | ||
** Check [http://fedoraproject.org/wiki/Packaging:Guidelines Packaging Guidelines] and [http://fedoraproject.org/wiki/Packaging:NamingGuidelines Packaging Naming Guidelines] to see if it meets the requirements | |||
Assist at creating FAS account/Red Hat bugzilla account, etc. Maybe create an interactive help page, which walks one through the steps | 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 | Create an RPM spec-file project |
Revision as of 19:21, 19 May 2011
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.
- You can now use "koji" to try to build your RPM packages on platforms (e.g., PPC) or distributions you don't have. Note that you can test out builds ("scratch" builds) even when your package hasn't been approved and you don't have a sponsor. Here is a simple way to do a scratch build using koji on the command line.
Make a Package
- Make sure it is a new package. Check this list of existing packages.
- 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)
- Check Packaging Guidelines and Packaging Naming Guidelines to see if it meets the requirements
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