From Fedora Project Wiki

There are tons of tutorials on how to create RPM packages, but many of them are obsolete, or don't include the important Fedora-specific stuff. This page gives the basics, with links to more information. I had to use many different sources to come up with this page - which was the problem in the first place.