On Sun, Dec 15, 2013 at 09:48:40PM +0000, Ben Boeckel wrote: > On Sun, 15 Dec, 2013 at 10:55:41 GMT, Richard W.M. Jones wrote: > > auto-buildrequires (http://people.redhat.com/~rjones/auto-buildrequires/) > > uses an LD_PRELOAD hack to find out what BuildRequires are packages > > are actually touched during the build. Therefore it does not suffer > > from this problem. [..] auto-buildrequires doesn't adjust or even look at the declared BuildRequires of a package. All it does is examine every file that is accessed during a build and map those back to packages, thus suggesting a list of BuildRequires that could be used. It tends to over-suggest packages for various reasons, and that is partially worked around by some simple heuristics. For example autoconf-generated ./configure scripts open every file present under /etc/ld.so.conf.d/ thus creating a false impression that programs BuildRequire everything that places a file in that directory -- we use a heuristic to suppress this. > Given A needing B which uses C's headers (but never included directly), > will C-devel be added as a BR to A? In this case, assuming you mean that C's headers are read by the compiler when compiling A, then, yes, C-devel would be printed as a BuildRequires. > IMO, that would be a mistake (and a bug in A if it is depending on B > to bring in C's headers). TBH I don't think that's necessarily a bug. As long as B-devel Requires C-devel, and if A isn't directly including headers from C-devel, it seems fine for A not to BuildRequire C-devel. Rich. -- Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones virt-top is 'top' for virtual machines. Tiny program with many powerful monitoring features, net stats, disk stats, logging, etc. http://people.redhat.com/~rjones/virt-top -- devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxxx https://admin.fedoraproject.org/mailman/listinfo/devel Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct