Getting Started as Maintainer for a New Fedora Package

If you haven't previously packaged software for Fedora, this guide will lead you through your first package submission. fedora package process

Creating Account for New Contributors

If you are a new package maintainer:

Creating a new account in Fedora Account System

Creating a Bugzilla Account

Create an account in Red Hat bugzilla.

Initial Setup

This step is only required to be completed once for a new Fedora packager or if using a new machine that does not have the required FAS certificates set up. When it is certain this is correct it is safe to skip this step. The following explains how to set up those certificates for an FAS account.

   yum install fedora-packager 
   fedora-packager-setup 

Feel free to skip the next section if you are an existing maintainer and also know how to create a new software for Fedora.

Making a Package

Packaging Guidlines

Creating an RPM package:

To start with creating an RPM package using Eclipse, perform the steps in creating Local Fedora Packager Project of the user guide. Note that you can populate your project using one of these three options:

1. Using RPM Stubby on feature.xml or pom.xml.
2. Extract .spec file and resources by importing an existing SRPM file to the project.
3. Start a plain project using .spec file template or an existing .spec file.

After you created the project, you can use rpm build commands available through the local context menu to build the package and create SRPM file. In next step you need to submit your .spec file and your SRPM file for review.

Submiting For Review

Introduce Yourself Using Fedora Mailing Lists

When a new package maintainer joins the Fedora Project, we request that he/she stays close to upstream. Inform the developers that you are packaging the software by introducing yourself on the devel@lists.fedoraproject.org.
To sign up for the list, visit the devel list signup page.

Uploading the Package

Upload your SRPM and .spec files onto the Internet somewhere. This can be anywhere accessible by a URL.

Example:

   scp path/to/file.spec path/to/rpm-file.src.rpm <user-name>.fedorapeople.org:public_html 

file.spec and rpm-file.src.rpm will then be available via the following URLs:

   http://<user-name>.fedorapeople.org/file.spec
   http://<user-name>.fedorapeople.org/rpm-file.src.rpm

Creating Review Request

Before submitting your request, be sure there is not a previous request for the same package.
Fill out this form in bugzilla.

1. Make sure that you put the name of the package (excluding version and release numbers) in the Review Summary field, along with a very brief summary of what the package is.
2. Put a description of your package (usually, this can be the same thing as what you put in the spec %description) in the Review Description field.
3- Obtain member sponsorship: If this is your first package, or you are a new maintainer who is updating a package, explain it and say that you need a sponsor (you will need sponsorship to check in and build your package).To be able to get sponsored, you should enter FE-NEEDSPONSOR into the Blocks field.
Sponsorship is not automatic and may require that you further participate in other ways in order to demonstrate your understanding of the packaging guidelines.
Key to becoming sponsored is to convince an existing sponsor-level member that you understand and follow the project's guidelines and processes.
For more information check this How to get sponsored user guide.

Bugzilla Form

3. Include the URLs to your SRPM and .spec files.

Bugzilla Review

Bugzilla feedback

Ready to Ship

Follow these steps after your package is approved by reviewers.

Requesting a new package SCM

When the package is approved by the reviewer, request a git module and branches with the info on Source Code Management(SCM) admin requests.

Package SCM Request

Fedora Packager Import Wizard

Once the Fedora Git repository has been created for you, you can import it in Eclipse.

Fedora Git Import

Select Package Name

Updating the SCM

Importing and Committing the Package Contents

After you have checked out your empty git module, you need to import and commit your package contents into the master branch.

1. Right-click on your source files in the SOURCES folder of your local RPM project in Eclipse and click Copy.
2. Right-click on your cloned project from Fedora Git and click Paste.
3. To upload these upstream source files to the lookaside cache, right-click on them, select Fedora Packager > Upload this File > Add to Existing Sources. This adds the files to the list of source files required to build the package. Use Fedora Packager > Upload this File > Replace Sources in order to replace the current content of the sources file to contain a single line with the MD5 sum of the file selected. More information about the lookaside cache can be found in this document.

Note! Do not add upstream sources (tar balls, zip files, etc.) to the Fedora Git repository. Use the lookaside cache instead!

4. Repeat steps 1-2 for your .spec file in SPECS folder.
5. To commit the package contents to the git repository, select the source file and the .spec file to commit (alternatively select the Fedora Git project and select desired unstaged files when the commit dialog is shown), right-click, Team > Commit...

Note! Fedora Packager for Eclipse won't let you to upload your .spec file or any other patches except your sources (tar balls, zip files, etc.) to the Fedora Git repository!

Building the Package

Closing the Bugzilla Ticket

Updating Your Package

Once you have built your package locally, you can perform the following steps to update your package:

Make locally committed changes public
Push the build to Koji
Push a Bodhi update (optional)

Continue with next steps in this user-guide to be able to use all available features of Fedora Packager plug-in.

Enabling Upstream Release Monitoring

Fedora has infrastructure available for monitoring new upstream releases of the software you are packaging.