Workflow

Please read the full documentation before you try it!

Create accounts

Both should use the same e-mail address!

Mailing lists

Join the following mailing lists:

FAS requirements

In FAS, accept the Contributors License Agreement. Wait for approval.

Then, join the following groups:

When your package is sponsored you will be moved to the Fedora Packager SCM Commit Group.

Create your package

You can use the following references:

You can use Koji to build packages for Fedora Collection and EPEL, by using:

koji build --scratch TARGET /path/to/local.built.src.rpm

where:

Upload your package

You can put the .spec and .src.rpm in your FAS account (150 MB available). For example:

Make a review request

Create a review request from using the following URL:

https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora&format=fedora-review

Review

If there are any changes requested, please review them at your submitted Review Request at bugzilla.redhat.com.

Make SCM request

Once the .spec and .src.rpm is sponsored/approved, you need to make a new package SCM request:

Add the following note in your bugzilla.redhat.com Review Request page (mcu8051ide is an example here):

New Package SCM Request
=======================
Package Name: mcu8051ide
Short Description: IDE for MCS-51 based microcontrollers
Owners: shakthimaan chitlesh
Branches: F-13 F-14 EL-5
InitialCC: shakthimaan

Changing the fedora-cvs flag to "?" in the Bugzilla page. It means SCM admin attention is needed.

Upload package to SCM

Once SCM access has been granted, checkout the package:

$ cd ~
$ mkdir fedora-git
$ cd fedora-git
$ fedpkg clone mcu8051ide

The default branch is the master branch. You can now import the .src.rpm to the master branch:

$ cd mcu8051ide
$ fedpkg import /home/foo/rpmbuild/SRPMS/mcu8051ide-1.1-4.fc14.src.rpm

You can then commit and push the package using:

$ fedpkg commit -p

It will open up vi for you to give the commit message.

You should also import it to the respective branches you have mentioned earlier — F-13, F-14, and EL-5, as follows:

$ fedpkg switch-branch f14
$ fedpkg import /home/foo/rpmbuild/SRPMS/mcu8051ide-1.1-4.fc14.src.rpm
$ fedpkg commit -p

$ fedpkg switch-branch f13
$ fedpkg import /home/foo/rpmbuild/SRPMS/mcu8051ide-1.1-4.fc14.src.rpm
$ fedpkg commit -p

$ fedpkg switch-branch el5
$ fedpkg import /home/foo/rpmbuild/SRPMS/mcu8051ide-1.1-4.fc14.src.rpm
$ fedpkg commit -p

If you have already pushed a package to the git repository, and you have made an updated package locally, just repeat the above for the newly created RPM package.

These commits will also generate automated e-mails to: https://www.redhat.com/mailman/listinfo/fedora-extras-commits

Request builds

For each branch in the ~/fedora-git/<package-name> directory (except for the master branch), request for builds.

$ fedpkg build &

From Fedora 11, one needs to use rpmbuild-md5 to build EPEL packages, because, Fedora RPM packages use SHA256, while EL5 uses MD5.

Push package to public repository

Login to Fedora Update System: https://admin.fedoraproject.org/updates/new/

Click on Save Update to send the package update.

References