One of the largest portions ofmy job as the developer of Fedora Badges is to
package all of my work and get it into the fedora repositories. This process is
very time consuming as I found out. The first step to getting a package into the
repositories is to get a spec file, and an srpm. First you write the spec file,
this is used to generate the srpm. Once you have those two files, you should
run a koji build on the srpm. (ie: koji build --scratch f17 /path/to/srpm) this
builds the rpm in a clean environment on a fedora server, It is a good way to
catch any problems that might have been fixed by local packages on your
machine. After you have a successful koji build you need to submit a package
review request on the redhat bugzilla. For a first time packager you will need
to mention that this is your first package, and also add a block for
sponsorship. Doing that lets potential sponsors know about your request. It
might also be prudent to get on irc (irc.freenode.net) and talk to people
in the community. Gaining relationships in the community will make it easier to
get a sponsor for your first package. Once you have been sponsored and your
package has passed a review you can flip the flag indicated you need a git repo
for your package. On bugzilla this flag is called fedora-cvs. Flip that to ?
and submit a specifically formatted comment with the repository branches you
need. The branches are used to differentiate between different repos. Added a
f17 branch lets you push packages to fedora 17, while adding an el6 branch
allows for updates into EPEL 6. Now that you have obtained the repo for your
package you need to import the srpm and spec using fedpkg import. Once you have
that imported push to master (which goes direct to fedora rawhide) and run
fedpkg build. This will do a final koji build of your package. You need this
build to succeed before you can release an update with fedpkg update. Once
the build succeeds switch to each branch and merge in master. Then repeat
fedpkg build for each branch. Once that happens you can release an update
using fedpkg update. Now that you have released an update you can monitor
it's status at https://bodhi.fedoraproject.org Once it has been in
updates-testing for a long enough time you can choose to push it into stable.
So thats how to package stuff. This is just a quick howto kind of thing so lots
of stuff isincomplete. For an actually how to guide read
https://fedoraproject.org/wiki/Join_the_package_collection_maintainers