Okay, here is a new version of the bdist_rpm patch, it adds the following options:
--spec-only - This option just generates a spec file and then stops
--tar-only - This option just generates a tarball and stops. The command `rpm -ta program_name.tar.gz` will then build an RPM
--no-remove - bdist_rpm now by default will remove MANIFEST, redhat/, and program_name.tar.gz when run as root. This option will disable this behavior
--arch - This option will build the RPM for the specified architecture.
One important consideration for --arch : Unless ./setup.py can be made to recognize the rpm's CFLAGS it will generate the same object code no matter what architecture you specify. In this case --arch will only effect what rpm THINKS the package is. I looked through the ccompiler and unixccompiler modules and didn't find any way to pass any CFLAGS in either through the command line or through an environment variable, am I missing it or has this feature not been added yet?