"На четверый день Зоркий Глаз заметил, что в сарае не хватает четвертой стены." noarch подпакеты дают нехороший расклад по неосновным архитектурам (arm и т.п.). А именно, при жестком разделении на $arch и noarch мы могли отдельно формировать noarch репозитарий. Теперь представим себе, что gcc4.1 имеет noarch подпакет gcc4.1-doc; и что этот пакет gcc4.1 собрался на i586 и x86_64, но не собрался на arm. Тогда, по старой логике, на arm должен был остаться старый пакет gcc4.1 и все его подпакеты. Поскольку старая логика не предполагала noarch подпакетов, то это давало неплохой вариант. Если же допустить что-то вроде gcc4.1-doc noarch, то возникает вопрос, как теперь формировать noarch репозитарий, чтобы он сгодился для всех архитектур. Ведь для i586 и x86_64 в него надо класть новый gcc4.1-doc, а для arm -- старый.