I tried to build an "i386" package which contains subpackages which are noarch. Hence I added "BuilArch: noarch" to the "%package" section of each corresponding subpackage. This results in all packages beeing "noarch". So I tried to say "BuilArch: i386" for the main package and all subpackages beeing i386. This resulted in all packages beeing "i386". Summary: It looks like rpm takes the first "BuildArch" it finds and uses it for ALL (sub)packages. BTW: Why do I have to specify "Group" for each package?
By design, rpm permits only one architecture per spec file parse. That means that you are forbidden to have noarch sub-packages of a arch specific package. Group tag is similarly (i.e. by design) required.
Why does rpm permit only one architecture per spec file parse? this makes absolutely no sense to me! I have a package which has ~100MB. About 60MB thereof is additional documentation. I want to split off the additional documentation since it eats up space and is by no means neccesary to run the software. Since the doc is "noarch" why should'nt I be able to tell rpm that it is!? Again this "feature" makes NO sense to me. Please change it.