Below is how the directory structure for the 2007 RPMS and SRPMS should look like. They need to be seperated by Main and Contrib unless they are WM(window manager) or DE(Desktop Environment) RPMS/SRPMS. If they are WM/DE(Gnome, KDE, Xfce) then they have their own directories. Below is the actual layout:

RPM Directory Structure

2007/i586

2007/i586/Main

2007/i586/Contrib

2007/i586/KDE355

2007/i586/Gnome2161

SRPMS Directory Structure

2007/SRPMS

2007/SRPMS/Main

2007/SRPMS/Contrib

2007/SRPMS/KDE355

2007/SRPMS/Gnome2161

There is no reason to seperate i586 from noarch. If it comes from Main and is a i586 or noarch RPM, it will get placed into 2007/i586/Main.

If you build epiphany RPMS then you would put them into 2007/i586/Gnome2161 and put the SRPMS into 2007/SRPMS/Gnome2161 This means if a package was required to build epiphany for Gnome-2.16.1 and it comes from contrib, it still gets placed into 2007/i586/Gnome2161 since it's something that is needed by Gnome-2.16.1