[CentOS-devel] FYI: centos reproduceability

Thu Apr 30 10:08:02 UTC 2009
Mike A. Harris <mharris at mharris.ca>

James Olin Oden wrote:

> Now along this sortid trail of email messages, there was mention that
> some packages no longer build with the current compilers.   Is that
> not the case, or was that a mis-statement?

If you peruse the Fedora ftp repository (or via http) you'll likely find 
some packages present with the .fcN dist tag in them where N < current 
release of Fedora.  That was true for Fedora 8, and I believe Fedora 10 
as well.  Not sure if it is true for Fedora 11/rawhide currently or not 
however.

> Because, it sounds Fedora at this point is self-hosting by that
> description, and if RedHat follows that practice it too will be self
> hosting.

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.

I'm not saying this shouldn't be done, but it is a large amount of 
potential package churn to say the least.  It would be nice however if 
mass rebuilds were done more often during the OS development phase, and 
failures were mandatorily fixed.  That would lead closer towards self 
hosting becoming more of a reality.

I don't think the process should be continued post-final though as it 
would churn excessive unnecessary updates to end users.