Specifying the RPM tag BuildArchitectures for one
sub-package sets the architecture for all packages.
This is the designed behavior of rpm. Basically, a BuildArchitecture
is one-to-one with a single parse of a spec file. Adding this feature
is of little use except for the special case of "noarch" and even
there the problem runs deeper than simply providing the ability
to claim that a package can be installed on all architectures.
Break the original package into 2 pieces if necessary.