FYI, some useful  links on Fedora packaging:
http://fedoraproject.org/wiki/How_to_create_an_RPM_package
http://fedoraproject.org/wiki/Docs/Drafts/BuildingPackagesGuide
http://spot.fedorapeople.org/Summit2008/GoodRPMPackages-TomCallaway-2008.pdf
http://spot.fedorapeople.org/Summit2008/2008-RPM-Spec-examples.pdf
https://fedoraproject.org/wiki/Special:PrefixIndex/Packaging
http://cvs.fedoraproject.org/viewvc/packagers-handbook/?root=docs

Also, related to fedora packaging -- on LAU, I queried how to package apps that depend on nonfree codecs, so that they dynamically load in LAME or other nonfree/blacklisted technologies from RPMFusion. My particular interest is in being able to package apps like 'qtractor' as part of Fedora with MP3 support if the appropriate RPMfusion packages are available. I really don't like the way things are done currently with  separate "Fedora" and Freeworld packages, which is unworkable, confusing, and a maintenance nightmare in the long-run.

In http://www.spinics.net/lists/linux-audio-users/msg69750.html Philipp Überbacher
provides one possible implementation/solution in http://moc.daper.net/about

Excerpts from Niels Mayer's message of 2010-06-13 00:33:53 +0200:
> PS: Is there a "codec dynamic loader" for http://lame.sourceforge.net
> , such that applications can be compiled once, and then, at load time,
> dynamically load and support MP3 if the lame-libraries are present?
> Seems like such a "meta-lame" package would solve all sorts of
> problems, such as having to provide both "free" and never-up-to-date
> "nonfree" versions of most audio editing software,
> e.g.:audacity.x86_64 1.3.11-0.1.beta.fc12  @updates  vs.
> audacity-freeworld.x86_64 1.3.7-0.6.1.beta.fc11 rpmfusion-free.

I'm reasonably sure it's somehow possible. I know that it works for the
audio player moc, at least with wavpack. If it's compiled with wavpack
support and it's not installed nothing bad happens. Wavpack files don't
show up and those in a playlist don't play, that's all. No idea how it's
implemented, but I'd like to see that kind of behavior in more apps.
 
Niels
http://nielsmayer.com