On Thu, 14 Feb 2002, R.I.P. Deaddog wrote:
> On Thu, 14 Feb 2002, Alexander Skwar wrote:
> Definitely. Most of the extra BuildRequires results from missing
> Requires in devel packages. Fixing this is possible, but requires
> human eyes instead of any sort of automagic scripts, since there's
> some black magic not detectable such as
>
> #if 0
> #include <blah.h>
> #endif
... Actually, this turns out not to be the case;
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.
- Russ Herrold