On Thu, 14 Feb 2002, R P Herrold wrote:

> There is a script which walks the rebuild process 
> (forget the name at the moment) and does essentially:
> 
> 1. Build in a chrooted environment from a known base; 
>       Pre-install any 'BuildRequires hints' in existing 
>       .spec file
> 2. Auto detect a failed build and install the needed 
>       BuildDependency
> 3. Repeat until it builds
> 4. Using file, check every changed file access time, 
>       generating a list
> 5. Using   rpm -qf --qf '%{name}\n'   build a list of all 
>       owning packages called.
> 6. Sort | uniq | grep -v anything in the absolute minimum base 
>       install | grep -v 'existing hints'
> 
> What is left is all of the new BuildRequires: of that package
> -- add to .spec file -- restore base build environment to a
> pristine state -- go to next package
> 
> I am working on a variant of of this for the LvR project.

This looks nice, and can be the way to go. But one flaw yet to be
plugged: it has no idea of "optional dependencies". pango is a good
example -- it can build with only glib 1.3.x, yet it can optionally
include external fribidi library. In this way, fribidi library won't be
listed as BuildRequires, since pango can build without it.

Abel



Reply via email to