Mike A. Harris wrote:
It is a good process for building clean rpms, at least cleaner than prior methods. It can not guarantee self hosting however because once any rpm is built - if any of its dependencies are rebuilt, if the compiler or toolchain changes, etc. - it is possible any of those changes could cause any number of rpms previously built to fail. As such, in order to guarantee self hosting, if say... gcc were rebuilt, then the entire repository would need to be rebuilt, and as any rpms were built - anything that used them as dependencies would need to be rebuilt again. There are packages that have build loops, so they might need to be rebuilt in a loop a few times to ensure they still build.
but this rebuild at least can check which packages not build and for those which build don't do anything. anyway the best would be if we can rebuild all dependencies and some kind of 'smart diff' can compare it with previous build and push updates only if 'smart diff' differ.