In a standard install of an rpm based distribution, such as Fedora, Redhat, Mandrake or SuSE, one has to be root to build binary rpm packages from source packages. There is really no need for using the root account for this kind of work. In addition, it's a good principle to only use the root account for what you need it for, and nothing else.
Here's what you do:
mkdir -p ~/rpm/SOURCES ~/rpm/BUILD ~/rpm/SPECS ~/rpm/RPM
echo ' %_topdir /your/home/dir/rpm %_tmppath /your/home/dir/rpm/BUILD %_buildroot /your/home/dir/rpm ' > ~/.rpmmacros
There are some additional tips as well. If you add %debug_package %{nil} to the .rpmmacros file, the standard debug package will not be built. Also, you can save space in your home directory if you set %_tmppath in .rpmmacros to /var/tmp or some other scratch disk with a lot of space.