hi, i write this mail after more people ask me in private. and since the centos core devel team not share any info about it's build system, status, there modifications, doesn't have any public revision system and not really accept any help or advice for outside. but i still believe these are useful info for many others so i try to summarize our rhel-6 rebuild experience.
first question is the build host and base repo selection. it's advice to choose both the build system and the base repo as close as to rhel-6 as possible. unfortunately even with official rhel-6 isos you can't get the optional packages in binary. so imho the best base system and base repo is a union of rhel-6 rc2 and rhel-6 beta. both are available freely in binary but only the beta include the optional packages in binary from. after you finish you can rebuild packages on itself again.
another important note that most update packages (there're a few dozens) have higher buildreq packages then in the base repo, but these buildreqs are not versioned in the specs. so you've to add the updates pacakges to the build system's base packages otherwise you'll get build errors.
i recommend mock-1.1.7 for building. unfortunately at rh it's not required to be able to build src.rpm is mock, they use only rpmbuild (!) which of course cause a few dozen of packages won't build:-( imho it'd be useful something like this for rhel too: http://fedoraproject.org/wiki/FTBFS
so let we see what's are the problematic packages (fortunately most of the packages build clean). all of these packages bellow has a bugzilla entry and most of them already contains the solutions. so just go and search for it (i'd not like to link all bz entry:-()
- virt-top (missing ocaml-camomile-data) - spice-client (missing pixman-devel) these two packages can't be rebuild on rhel-6 since they has such buildreq which is not shipped in rhel-6 (simple rh forget about it:-) so you can either add to the base repo these packages from epel or from a rebuild from fedora or simple drop them.
- bash - zsh can't be rebuild in mock-1.x since a mock tty bug. in this case imho the easiest solution: mock <params> --rebuild bash... ctrl-c during build, then mock <params> --shell rpmbuild --rebuild /builddir/build/originals/bash...
- nss can't be rebuild in mock since during %check try to connect to the localhost to test ssl, but it's not working in mock. i suggest the above solution plus ctrl-c during the rpmbuild when the build hang at the ssl connection test and after the you'll got a successful build:-)
- kernel unfortunately kernel spec is not updated to the new noarch subpackage style. which means you've to build the arch and noarch packages separately (as in rhel-5). but the new spec file even worst then the rhel-5 was so eg: a simple: mock <params> --target "noarch,i686" --rebuild kernel... no longer works, but mock <params> --target "noarch" --rebuild kernel... mock <params> --target "i686" --rebuild kernel... works:-) imho the best would be to update the kernel spec to the new noarch style subpackage, but afais rh so conservative about kernel spec it won't be happened in the rhel-6.x series:-(
- opal has a wrong rh patch which cause ekiga not compile, so you've to fix opal first.
- java-1.6.0-openjdk-1.6.0.0-1.21.b17.el6 can't be build, unfortunately bz with fixes for this package are not public, but there's an update which can be build (may be we'd have to leave this package out).
and the remaining packages has different problems in the spec file, but all has (mostly a simple) solution in bz, but doesn't have update package: - guile - openmpi - foomatic - hivex - mod_auth_kerb - gnome-doc-utils - pilot-link - linuxdoc-tools - perl-Sys-Virt - perl-Test-MockObject - perl-Test-Memory-Cycle - perl-GSSAPI - perl-Makefile-Parser - perl-CGI-Session - perl-IPC-Run3 - python-lxml - python-sqlalchemy - rome - epydoc - kdepim-runtime
i hope it can help for a few poeple.
anyway happy xmas!