With rpmbuild, you can make custom packages for any architecture. But what if there’s no difference between the architectures in what you’re building?
If you’re copying around something like scripts, docs or other text files that have nothing to do with 32 vs 64 bit or endianness, it’s easier and more efficient to create a single noarch package and just keep one copy of it in a repository.
To build a noarch rpm instead of individual i386, x86_64, ppc, etc. packages, add the following to the top section of your spec file:
BuildArch: noarch
If you keep a local repository for more than one architecture, you can keep the package in one, and link to it from the others. End users of the repo won’t be affected in any way but you’ll save space and keep them better organized.
One RPM to rule them all,
One RPM to install them,
One RPM to bring them all
and in the repository bind them.