It's my understanding that RPM's contain precompiled binaries. That's why they have the i386, i586, i686, and athlon RPM's for the kernel. Most of the other rpm's, however, just say that they are for i386 and above which leads me to believe that all of the binaries are precompiles and are just installed to their correct locations. I suppose I could be wrong, but why would they need source RPM's if the programs are recompiled on a per machine basis?